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;
}
|