• Aucun résultat trouvé

Suite de Syracuse

N/A
N/A
Protected

Academic year: 2022

Partager "Suite de Syracuse"

Copied!
1
0
0

Texte intégral

(1)

©Arnaud de Saint Julien - MPSI Lycée La Merci 2020-2021 1

Devoir maison n°1 d’informatique pour mardi 6 octobre

Il est conseillé d’imprimer ses scripts Python et de bien les documenter.

Suite de Syracuse

The following iterative sequence is defined for the set of positive integers :

nn/2 (if n is even) n → 3n + 1 (if n is odd)

Using the rule above and starting with 13, we generate the following sequence :

13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1

It can be seen that this sequence (starting at 13 and finishing at 1) contains 10 terms. Although it has not been proved yet (Collatz Problem), it is thought that all starting numbers finish at 1.

Which starting number, under one million, produces the longest chain ?

NOTE : Once the chain starts the terms are allowed to go above one million.

Le but du devoir est de résoudre le problème proposé dans l’encadré. On traitera pour cela les questions ci-dessous :

On note f la fonction définie sur N par f (n) =

n2

si n est pair et f(n) = 3n + 1 sinon.

Si c ∈ N

, on note u la suite

1

récurrente définie par

u

1

= c et ∀ n ∈ N

, u

n+1

= f (u

n

) Avec c = 13, on a conformément à l’encadré

u

1

= 13, u

2

= 40, u

3

= 20, u

4

= 10, u

5

= 5, u

6

= 16, u

7

= 8, u

8

= 4, u

9

= 2, u

10

= 1.

On dit alors que la longueur de la chaîne formée par u vaut 10 et que la valeur maximale de cette chaîne est u

2

= 40.

1. Écrire une fonction Python f(n) qui code la fonction mathématique f : elle prend en argument un entier n ∈ N et renvoie l’entier f(n).

2. Écrire une fonction longueur_chaine qui prend en argument un entier c ∈ N

et renvoie le plus entier n tel que u

n

= 1 (lorsque u

1

= c).

Par exemple, longueur_chaine(13) renverra 10.

3. Écrire une fonction max_chaine qui prend en argument un entier c ∈ N

et renvoie la plus grande valeur de u

n

(lorsque u

1

= c).

Par exemple, max_chaine(13) renverra 40.

4. Répondre à la question posée dans l’encadré.

1. Cette suite porte le nom de suite de Syracuse ou suite de Collatz. La conjecture de Syracuse est l’hypothèse mathématique selon laquelle, n’importe quel entier au départ conduit à la valeur 1 au bout d’un certain temps.

Personne n’a à ce jour réussi à prouver cette conjecture.

Références

Documents relatifs

– il existe un nombre n’ (plus grand que n) tel que, parmi les vols de numéros inférieurs à n’, au plus un pour cent ne passe pas sous leur point de départ ;.. – il existe

Il existe une conjecture (dite de Syracuse) qui dit que quelque soit l'entier choisi au départ, on nit toujours par trouver 1 au bout d'un certain nombre d'étapes.. En admettant que

Il existe une conjecture (dite de Syracuse) qui dit que quelque soit l’entier choisi au départ, on finit toujours par trouver 1 au bout d’un certain nombre d’étapes5. On décide

et il revient au point d'eau après avoir arroser un arbre Quelle distance aura-t-il parcouru pour arroser les 100 peupliers. On utilisera une suite pour expliquer

Qu’est-ce que la conjecture de Syracuse, encore appelée conjecture de Collatz, conjecture d’Ulam, conjecture tchèque ou problème 3x+1.. Définissez la notion de temps de vol

A priori, il serait possible que la suite de Syracuse de certaines valeurs de départ n’atteigne jamais la valeur 1, soit qu’elle aboutisse à un cycle différent du cycle trivial,

La conjecture de Syracuse est l’hypothèse selon laquelle la suite de Syracuse associée à n’importe quelle valeur initiale a atteint la valeur 1 à partir d’un certain rang..

1°) Recopier et compléter le tableau suivant des termes de suites de Syracuse définies par des différents termes initiaux. 4°) Programmer l’algorithme précédent soit