
\begin{enumerate}
\item 
\begin{itemize}
\item Par définition, $u_1=1$ (nombre de grain de blé sur la première case);
\item $u_2$ est le double de $u_1$, donc $u_2=2u_1=2\times1=2$;
\item $u_3=2u_2=4$;
\item $u_4=2u_3=8$;
\item $u_5=2u_4=16$.
\end{itemize}

\item Par définition, $u_{n+1}$ est le double de $u_n$ car on double le nombre de grains d'une case à l'autre. \underline{Ainsi, $u_{n+1}=2u_n$.}

\item De la relation de récurrence précédente, on en déduit que \suite{u}{n}{} est une suite géométrique de premier terme $u_1=1$ et de raison $q=2$.

\medskip

D'après le cours, on a alors pour tout entier naturel $n\geqslant1$:\[ \boxed{u_n = u_1 \times q^{n-1} = 2^{n-1}} \]

\item Le nombre de grains de riz qui doivent être disposés sur le plateau pour satisfaire à la demande du vieux sage est:
\[
\boxed{u_{64}=2^{63}=\numprint{9223372036854775808}}
\]

\newpage

\item Le programme complété est le suivant:

\begin{python}
def nb_case(R):
    case = 1
    u = 1
    somme = u
    while somme < R:
        u = 2 * u
        somme = somme + u
        case = case + 1
    return case
\end{python}

En effet, on doit calculer les termes successifs de la suite (l. 7) et la somme est obtenue (l. 8) en ajoutant le nouveau terme à la somme précédente \textit{tant que} cette somme n'a pas atteint $R$, donc tant que la somme est inférieure strictement à $R$ (l. 8).
\end{enumerate}
