
\begin{questions}
\item $n=1$ est impair, donc $A(1)=3\times 1+1=4$~;
$n=4$ est pair, donc $A(4)=\dfrac{4}{2}=2$~; $n=2$ est pair,
donc $A(2)=1$.

\newpage

\NathanLiveProg[]{}{}\vspace*{-2em}
\qrset{height=1.1cm,version=5}\rput(-1,-1.2){
\psframebox{\qrcode{https://idl-live.prepamath.fr/IL2M/01-syracuse-fonction.py}}}
\vspace*{-10pt}

\item
\begin{listing}{En Python}{01-syracuse-fonction.py}\end{listing}

\Par

L'instruction \verb+ n%2+ calcule le reste de la division
euclidienne par 2, qui vaut 0 si et seulement si $n$
est pair. La division \verb+ n//2+ est la division entière.
Il est important de ne pas utiliser \verb+ n/2+ qui
donne un flottant (même si $n$ est pair) et risque
de poser des problèmes pour utiliser la valeur de
\texttt{A(n)} par la suite.

\item D'après la première question, si $n$ prend la valeur
$1$, elle prend ensuite la valeur $4$, puis $2$, puis de
nouveau $1$, etc. Si $n=2$ ou $4$, on atteint la valeur
$n=1$ en 1 ou 2 étapes. Le programme donne alors
la suite 1, 4, 2, 1, 4, 2, etc.

\item À la vue de la réponse à la troisième question, nous arrêtons le programme dès que $n$ atteint la valeur 1. Tant que cette valeur n'est pas atteinte, on remplace la valeur de $n$ par celle de $A(n)$.

\NathanLiveProg[]{}{}\vspace*{-2em}
\qrset{height=1.1cm,version=5}\rput(-1,-0.7){
\psframebox{\qrcode{https://idl-live.prepamath.fr/IL2M/01-syracuse-boucle.py}}}
\vspace*{-10pt}

\begin{listing}{}{01-syracuse-boucle.py}\end{listing}

\enlargethispage*{3em}

Par exemple, pour $n=120$, on obtient~:
60, 30, 15, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1...
\end{questions}
