Exercice langage C : la suite hongroise
Rédigé par GC Team, Publié le 18 Février 2012, Mise à jour le Mercredi, 11 Août 2021 19:28Participez au vote ☆☆☆☆☆★★★★★
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include using 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<<")="<<u<<endl; } return 0; } |