Zoofast.fr facilite l'obtention de réponses détaillées à vos questions. Obtenez des réponses précises et bien informées de la part de notre communauté d'experts prêts à aider.

coucou, si une âme charitable peut m’aider j’accepte avec plaisir.

Coucou Si Une Âme Charitable Peut Maider Jaccepte Avec Plaisir class=

Sagot :

Réponse :

Explications étape par étape :

Bonsoir

1) pour 4 on obtient : [4, 2.0, 1.0]
  pour 5 on obtient : [5, 16, 8.0, 4.0, 2.0, 1.0]

2) Non cela ne permet pas d'affirmer que la propriété est vraie

3) a) u représente les différentes valeurs des termes de la suite
   b) u%2 représente le reste de la division de u par 2
        si le reste = 0 alors u est pair
  c) on ajoute à la liste la valeur de u
  d) A la fin on obtient 1
  e) avec 27

Programme
def syracuse(n):

   liste=[n]

   u=n

   while u!=1:

       if u%2 == 0:

           u=u/2

       else:

         u=(u*3)+1

       liste.append(u)

   return(liste)

>>> syracuse(27)

[27, 82, 41.0, 124.0, 62.0, 31.0, 94.0, 47.0, 142.0, 71.0, 214.0, 107.0, 322.0, 161.0, 484.0, 242.0, 121.0, 364.0, 182.0, 91.0, 274.0, 137.0, 412.0, 206.0,103.0, 310.0, 155.0, 466.0, 233.0, 700.0, 350.0, 175.0, 526.0, 63.0,790.0, 395.0, 1186.0, 593.0, 1780.0, 890.0, 445.0, 1336.0, 668.0, 334.0, 167.0, 502.0, 251.0, 754.0, 377.0, 1132.0, 566.0, 283.0, 850.0, 425.0, 1276.0, 638.0, 319.0, 958.0, 479.0, 1438.0, 719.0, 2158.0, 1079.0, 3238.0, 1619.0, 4858.0, 2429.0, 7288.0, 3644.0, 1822.0, 911.0, 2734.0, 1367.0, 4102.0, 2051.0, 6154.0, 3077.0, 9232.0, 4616.0, 2308.0, 1154.0, 577.0, 1732.0, 866.0, 433.0, 1300.0, 650.0, 325.0, 976.0, 488.0, 244.0, 122.0, 61.0, 184.0, 92.0, 46.0, 23.0, 70.0, 35.0, 106.0, 53.0, 160.0, 80.0, 40.0, 20.0, 10.0, 5.0, 16.0, 8.0, 4.0, 2.0, 1.0]

>>>

4) Programme complet

def syracuse(n):

   U=n

   liste=[n]

   T=0

   Z=0

   while U!=1:

       if U%2==0:

           U=(U//2)

       else:

           U=(3*U+1)

       liste.append(U)

       T=T+1

       if U>n:

           Z=Z+1

       Ln=len(liste)

       A=max(liste)

   print("Trajectoire",liste)

   print("Longueur",Ln)

   print("Altitude",A)

   print("Temps de vol",T)

   print("Temps de vol en altitude",Z-1)

Avec n = 15 on obtient

*** Console de processus distant Réinitialisée ***

>>> syracuse(15)

Trajectoire [15, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1]

Longueur 18

Altitude 160

Temps de vol 17

Temps de vol en altitude 10

>>>