Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Algorithme sur la suite de Syracuse

Posté par
Nayima
11-10-12 à 19:27

Bonjour,
je souhaite finir mon DM mais il se termine par un exercice avec un algorithme..
Et je ne comprend vraiment pas !

SUJET:

Remarque préliminaire : avec Algobox la parité d'un nombre se teste en utilisant la fonction floor() qui donne de la partie entière un nombre (donc sans la partie décimale).
un exemple de n pair : n=6 donc n/2=3 donc floor(n/2)=3
un exemple de n impair : n=7 donc n/2=3.5 donc floor(n/2)=3
Donc "si floor(n/2)==n/2 alors ..." teste si n est pair


Voici un algorithme qui donne une série de nombres.
On choisit un premier nombre naturel non nul. S'il est pair, le suivant est la moitié de ce nombre. S'il est impaire, le suivant est le triple du premier auquel on additionne 1. On continue le processus.

a) Vérifier qu'avec n=6 on trouve les valeurs 6-3-10-5-16-8-4-2-1
b) Donner la liste des nombres avec comme premier nombre 35.
c) Pourquoi vaudrait-il mieux arrêter cet algorithme lorsque la valeur vaux 1.
d) Écrire un algorithme avec Algobox qui donne la liste des nombres, après avoir demandé le premier d'entre eux. Imprimer cet algorithme.
e) Comment pourrait-on prouver ce qui a été conjecturé ? (pour information, cette suite de nombres s'appelle suite de Syracuse)

Ce que j'ai fait :
a) Oui j'ai vérifier ( je ne vais pas le marquer )
b) 35-1O6-53-160-80-40-20-10-5-166-8-4-2-1
c) 1 est impaire, on au (1*3)+1=4, qui va donner 2 et qui redonne 1. Si l'on arrête pas l'algorithme a 1, ceci ce reproduit  indéfiniment.
d) et la j'arrive pas a avancé malgré plusieurs tentative, je n'arrive pas a faire cette algorithme.  


Quelqu'un pourrait m'aider ?

Posté par
Chatof
re : Algorithme sur la suite de Syracuse 12-10-12 à 09:11

bonjour,

voir :

1 VARIABLES
2 u EST_DU_TYPE NOMBRE
3 DEBUT_ALGORITHME
4 LIRE u
5 AFFICHER u
6 AFFICHER " "
7 TANT_QUE (u!=1) FAIRE
8 DEBUT_TANT_QUE
9 SI (u%2 ==0) ALORS
10 DEBUT_SI
11 u PREND_LA_VALEUR u/2
12 FIN_SI
13 SINON
14 DEBUT_SINON
15 u PREND_LA_VALEUR 3*u + 1
16 FIN_SINON
17 AFFICHER " "
18 AFFICHER u
19 FIN_TANT_QUE
20 FIN_ALGORITHME

RÉSULTATS :
***Algorithme lancé***
Entrer u : 35
35 106 53 160 80 40 20 10 5 16 8 4 2 1
***Algorithme terminé***


Citation :
Reste de la division de la variable x par la variable y : x%y
Partie entière d'une variable x : floor(x)
Arrondi d'une variable x à l'entier le plus proche : round(x)
Racine carrée d'une variable x : sqrt(x)
Mettre une variable x à la puissance n : pow(x,n)



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1742 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !