Exercice langage C : la suite hongroise
Cet exercice a pour but de vérifier les points techniques suivants :
- Utilisation du while.
- Lire précisément un énoncé.
- Modélisation assez complexe d'un problème issu des mathématiques.
Travail à Faire :
On considère la suite hongroise : u(0)=a (a entier)
si u(n) pair alors u(n+1)=u(n)/2 sinon u(n+1)=3*u(n)+1
Pour toutes les valeurs a, il existe un entier N tel que u(N)=1 (conjecture admise).
a) Ecrire un programme qui demande à l'utilisateur de taper a et qui affiche toutes les valeurs de u(n) de n=1 à n=N.
123456789101112131415161718 | #includeusing namespace std;int main(){int a,n,u;cout"Tapez la valeur de a : ";cin>>a;n=0;u=a;while(u!=1) { if(u%2==0)u=u/2; else u=3*u+1; n++; cout"u("n")="uendl; }return 0;} |