Étudier une suite de SyracuseProblème

La suite de Syracuse est une suite très connue. 

Elle est construite de la manière suivante : 
u_0 = N \in \mathbb{N}  

et pour tout n \in \mathbb{N} : \begin{cases} u_{n+1} = \frac{u_n}{2} \text{ si } n \text{ est pair} \cr \cr u_{n+1} = 3u_n+1\text{ si } n \text{ est impair} \end{cases}

La conjecture de Syracuse est la suivante : 

Pour tout N \in \mathbb{N}, il existe un indice n tel que u_n=1

On veut écrire un algorithme qui, pour N donné, renvoie le premier indice n tel que u_n=1.

Soit N = 100

Quelle est la valeur du terme u_5 ? 

Soit u un entier naturel. 

Quelle commande Python permet de tester si u est pair ? 

Quelle fonction écrite en Python permet, pour p et N donnés, de calculer u_p ? 

Quelle fonction écrite en Python permet, pour N donné, de déterminer le plus petit entier n tel que u_n=1 ?