Exercice langage C : Valeur correspondante

Cet exercice a pour but de vérifier les points techniques suivants :

  • Utilisation du while et du for.
  • Imbrication de boucles.
  • Lire précisément un énoncé.
  • Modélisation assez complexe d'un problème issu des mathématiques.

Travail à Faire :

Ecrire un programme qui demande à l'utilisateur de taper un entier M puis qui cherche la valeur de a comprise entre 2 et M qui maximise la valeur de N.
On appelle A cette valeur.
Le programme doit afficher la valeur A et la valeur N correspondante.


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include
using namespace std;
 
int main()
{
int a,n,u,M,amax,nmax;
cout"Tapez la valeur de M : ";cin>>M;
amax=2;
nmax=2;
 
for(a=3;aM;a++)
    {
    n=0;
    u=a;
    while(u!=1)
       {
       if(u%2==0)u=u/2; else u=3*u+1;
       n++;
       }
    if(n>nmax){amax=a;nmax=n;}
    }
cout"La valeur de A est :"amaxendl;
cout"La valeur de N correspondante est :"nmaxendl;
 
return 0;
}