• Aucun résultat trouvé

La suite de Syracuse [it06] - Exercice

N/A
N/A
Protected

Academic year: 2022

Partager "La suite de Syracuse [it06] - Exercice"

Copied!
5
0
0

Texte intégral

(1)

Karine Zampieri, St´ ephane Rivi` ere

Unisciel algoprog Version 17 mai 2018

Table des mati` eres

1 La suite de Syracuse / pgsyracuse 2

1.1 Pr´esentation du probl`eme . . . 2

1.2 Termes de la suite. . . 3

1.3 Nombre de termes. . . 3

1.4 Plus grand terme . . . 4

2 R´ef´erences g´en´erales 5

alg - La suite de Syracuse (Solution)

Mots-Cl´es Sch´ema it´eratif, Suite de Syracuse

Requis Structures de base, Structures conditionnelles, Structures r´ep´etitives Difficult´e • • ◦ (25 min)

Objectif

Cet exercice propose quelques probl`emes autour de la suite de Syracuse.

http://images.math.cnrs.fr/Le-probleme-3n-1-elementaire-mais.html

1

(2)

1 La suite de Syracuse / pgsyracuse

1.1 Pr´ esentation du probl` eme

D´efinition

Etant donn´´ e un entier initial u0 >0, les termes de la suite de Syracuse(appel´ee aussi suite deCollatz ou suite des grelons) sont donn´es par la r´ecurrence :

un+1 =

un div 2 si un pair 3un+ 1 si un impair

Exemple

Avec u0 = 5 elle donne 5,16,8,4,2,1,4,2... et pour u0 = 13 elle g´en`ere 13,40,20,10,5 qui g´en`ere finalement le cycle1,4,2,1,4,2,1,4,2...

Conjecture de Collatz

Elle stipule que la suite de Syracuse donne un terme ´egal `a 1 en un temps fini pour tout entier naturelu0. On tient cette conjecture pour vraie jusqu’`a preuve du contraire.

Objectif

Etant donn´´ e un germe u0, calculer : (a) les termes de la suite, (b) le nombre de termes ainsi que (c) le plus grand des termes.

...(suite page suivante)...

(3)

1.2 Termes de la suite

Ecrivez un algorithme de sorte qu’il saisit le terme initial´ u0 dans un entieru0tant qu’il n’est pas (ou jusqu’`a ce qu’il soit) >0. Affichez l’invite :

Germe initial?

Calculez et affichez les termes de Syracuse issus du germe u0. N’oubliez pas d’afficher le dernier (ou premier) terme.

Aide d´etaill´ee Il faut :

1. D´eclarer une variable un (pour un) et l’initialiser avec le germe u0(de u0).

2. Tant que 1n’est pas atteint (conjecture de Collatz) pour un :

• Afficher le terme courant un.

• Avancer au terme suivant d’apr`es la relation :

un+1 =

un div 2 siun pair 3un+ 1 siun impair

On sort de la boucle pour un valant 1 : il faut donc afficher ce dernier terme (qui fait

´

egalement parti de la suite). Notez que si, dans la boucle, on inverse l’affichage et le calcul du terme suivant, il faut alors afficher le premier terme puisque la boucle d´etermine le terme un+1.

Testez. Exemple d’ex´ecution : Germe initial? 25

25 76 38 19 58 29 88 44 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

1.3 Nombre de termes

Compl´etez votre algorithme de sorte qu’il calcule le nombre de termes de la suite issu du germe u0. («Compl´etez » signifie qu’il faut rajouter des instructions et n’en supprimer aucune.)

Aide simple

D´eclarez et calculez une variablentqui m´emorisera le nombre de termes et lors de chaque affichage de un, incr´ementer ntde 1.

Testez. Exemples d’ex´ecution : Germe initial? 25

==> 24 termes

Germe initial? 1132

==> 63 termes

(4)

1.4 Plus grand terme

Enfin compl´etez votre algorithme de sorte qu’il calcule et renvoie la valeur du plus grand termede la suite issu du germe u0.

Aide d´etaill´ee

D´eclarez et calculez une variable tmax qui m´emorisera le plus grand terme. On pourra initialisertmaxsoit avec0(la suite est d´efinie sur les entiers naturels), soit avec le premier terme u0 (initialisation `a un terme utile). Dans la boucle, il faut tester le terme un par rapport `atmax: s’il est plus grand, c’est que l’on a trouv´e mieux et donc actualisertmax.

Testez. Exemples d’ex´ecution : Germe initial? 25

==> Plus grand 88 Germe initial? 1132

==> Plus grand 9232

Validez votre algorithme avec la solution.

Solution alg @[pgsyracuse.alg]

Algorithme pgsyracuse Variable u0 : Entier Variable un : Entier Variable nt : Entier Variable tmax : Entier Début

| Répéter

| | Afficher ( "Germe initial? " )

| | Saisir ( u0 )

| Jusqu’à ( u0 > 0 )

| un <- u0

| nt <- 1

| tmax <- u0

| TantQue ( un <> 1 )

| | AfficherSS ( un , " ")

| | Si ( Modulo ( un , 2 ) = 0 ) Alors

| | | un <- DivEnt ( un, 2 )

| | Sinon

| | | un <- 3 * un + 1

| | FinSi

| | nt <- nt + 1

| | Si ( tmax < un ) Alors

| | | tmax <- un

| | FinSi

| FinTantQue

| Afficher ( un )

| nt <- nt + 1

| Afficher ( "==> " , nt , " termes" )

(5)

| Afficher ( "==> Plus grand " , tmax ) Fin

2 R´ ef´ erences g´ en´ erales

Comprend[http://images.math.cnrs.fr/Le-probleme-3n-1-elementaire-mais.html]

Références

Documents relatifs

Toutes les justifications doivent figurer sur votre copie, mais la r´edaction doit rester sobre.. Vous pouvez admettre un r´esultat, `a condition de le signaler

- Find the white/green cable (next to the brown just inserted) and connect it to the D green cable using the T-Tap electrical wire connector.. - Trouver le câble blanc/vert (à coté

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,

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

Cela a été un drapeau. Comme le tracteur qu'on promène à travers champs, symbole des réali- sations nouvelles. Ce drapeau a été brandi par Adolphe Ferrière,

a - Ecrire un programme pour afficher un d´ egrad´ e de couleur entre les couleurs rouge et verte : chaque point de coordonn´ ees (x, y) devra avoir une intensit´ e de couleur rouge

&#34;Possédant initialement un couple de lapins, combien de couples obtient-on en douze mois si chaque couple engendre tous les mois un nouveau couple à compter du second mois de

Cela n’implique aucune sym´ etrie entre les deux quadrilat` eres, car on a le libre choix du triangle ABC, puis de D sur la m´ ediatrice, pour obtenir que dans le quadrilat` ere ABCD