Bonjour j'ai un algorythme a réalisé sur algobox pour m'entrainer, voici le problème:
" Demander et lire un nombre N entier positif non nul.
Recommencer l'action suivante
*si N est pair, il est divisé par 2
*si N est impair, il est multiplié par 3 et augmenté de 1
arreter quand N vaut 1. "
ce que je ne sais pas du tout faire est la partie " *si N est pair, il est divisé par 2
*si N est impair, il est multiplié par 3 et augmenté de 1"
pourriez vous m'expliquer comment réaliser cet algorythme
tant que N /= 1
*si N est pair, il est divisé par 2
si N = 2p alors N = N/2
*si N est impair, il est multiplié par 3 et augmenté de 1
sinon N = 3*N + 1
fin tant que
...
Ah ui d'acccord N=2p c'est ce qui me manquait et pour "Demander et lire un nombre N entier positif non nul" il faudrait mettre quoi ?? Si N>0 alors Lire N ??
et comment faire pour arreter quand N vaut 1??
"Demander et lire un nombre N entier positif non nul"
N = 0
tant que N <= 0
lire N
fin tant que
tant que N /= 1 (N différent de 1)
si N = 2p alors N = N/2
sinon N = 3*N + 1
fin tant que
bonsoir Pierre et pgeod
je rajoute deux remarques
- sur algobox (en tout ca pour ma version) pour savoir si un nb est pair, on cherche si sa moitié est un nb entier, c-à-d si sa moitié est égale à la partie entière de sa moitié : si floor(n/2)==n/2
- tjs pour ma version, algobox a bien le si... alors
mais pas le si... alors...sinon
Donc il faut 2 structures si, mais il ne faut rentrer ds la 2nde que si on n'est pas rentrée dans la 1ère
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :