
Voici une proposition de programme:

\begin{python}
u, n = 1, 0 # u prend la valeur 1, n prend la valeur 0
while u < 10**9:
    u = 1.05*u + 1
    n = n + 1
print(n)
\end{python}

On commence par définir le premier $n$ et le premier terme $u_0$, que l'on stocke dans \texttt{u}.

Ensuite, on calcule les termes successifs de la suite \textit{tant que} l'on obtient une valeur plus petite que $10^9$. On n'oublie pas d'ajouter 1 à $n$ à chaque fois car on souhaite afficher le premier $n$ pour lequel on sort de la boucle.

En exécutant ce programme, on obtient:
\begin{console}
363
\end{console}
ce qui signifie que $u_{362}\leqslant10^9$ mais $u_{363}>10^9$.
