Vous êtes sur la page 1sur 5

SMC/SMP 2019/2020

FPK Corrigé TD2 – les boucles (for) –

Exercice 1
Écrire un programme C++ qui affiche les nombres impairs qui sont inférieurs ou égal à 100.
Version for Version while
#include <iostream> #include <iostream>
using namespace std; using namespace std;
int main() int main()
{ { int i;
int i; i=1;
for(i=1;i<100;i=i+2) while(i<100)
cout<<i<<endl; {
return 0; cout<<i<<endl;
} i=i+2;
}
return 0;
}
Exercice 2:
Écrire un programme C++ qui permet de calculer par multiplications successives X N de deux
entiers naturels X et N entrés au clavier.

Version for Version while


#include <iostream> #include <iostream>
using namespace std;
int main() using namespace std;
{
int i,N,X,P; int main()
cout<<"Donner une valeur de N :"; {
cin>>N; int i,N,X,P;
cout<<"Donner une valeur de X :"; cout<<"Donner une valeur de N :";
cin>>X; cin>>N;
P=1; cout<<"Donner une valeur de X :";
for(i=1;i<=N;i++) cin>>X;
P=P*X; P=1;
cout<<X<<"à la puissance "<<N<<"="<<P<<endl; i=1;
return 0; while(i<=N)
} {
P=P*X;
i=i+1;
}
cout<<X<<"à la puissance "<<N<<"="<<P<<endl;
return 0;
}
Exercice 3:
Écrire un programme C++ qui trouve tous les nombres premiers inférieurs à 100;

1
SMC/SMP 2019/2020
FPK Corrigé TD2 – les boucles (for) –

// ce programme permet d’afficher N est #include <iostream>


premier si N est un nombre premier, et N using namespace std;
n’est pas premier dans le cas contraire. int main()
#include <iostream> {
using namespace std; int N,i,Compteur;
for(N=2;N<=100;N++)
int main() {
{ Compteur=0;
int N,i,Compteur; for(i=2;i<N;i++)
cout<<"Donner une valeur de N :"; if(N%i==0)
cin>>N; Compteur=Compteur+1;
Compteur=0;
for(i=2;i<N;i++) if(Compteur==0)
if(N%i==0) cout<<N<<" est premier "<<endl;
Compteur=Compteur+1; }
if(Compteur!=0) return 0;
cout<<N<<" n'est pas premier "<<endl; }
else
cout<<N<<" est premier "<<endl;

return 0;
}

Exercice 4:
Écrire un programme C++ qui demande un nombre de départ, et qui ensuite écrit la table de
multiplication de ce nombre, présentée comme suit (cas où l'utilisateur entre le nombre 5) :
Table de 5 :
5x1=5
5 x 2 = 10

5 x 10 = 50
Version for Version for
include <iostream> // ce programme permet d’afficher toutes les
using namespace std; tables de multiplications de 1 jusqu’à 9
int main() #include <iostream>
{ using namespace std;
int i,N; int main()
cout<<"Donner une valeur de N :"; {
cin>>N; int N,i;
for(i=1;i<=10;i++) for(N=1;N<=9;N++)
cout<<N<<" x "<<i<<" = "<<N*i<<endl; {
return 0; for(i=1;i<=10;i++)
} cout<<N<<" x "<<i<<" = "<<N*i<<endl;
}
return 0;
}

Exercice 5:

2
SMC/SMP 2019/2020
FPK Corrigé TD2 – les boucles (for) –

#include <iostream>
using namespace std;
int main()
{
int N,i,M;
for(i=1;i<=20;i++)
{
cout<<"Donner une valeur de N :":
cin>>N;
if(i==1)
M=N;
else
{
if(N>M)
M=N;
}
}
cout<<"la valeur maximale :"<<M;
return 0;
}

Problème I
//
___________________________________________________________________________
__//
#include <iostream>
using namespace std;
int main()
{
int n,m,somDivN,somDivM,i;
cout<<"Donner une valeur de n :";
cin>>n;
cout<<"Donner une valeur de m :";
cin>>m;
somDivN=0;
for(i=2;i<n;i++)
{
if(n%i==0)
somDivN=somDivN+i;
}
somDivM=0;
for(i=2;i<m;i++)
{
if(m%i==0)
somDivM=somDivM+i;
}
if (n==somDivM && m==somDivN)
cout<<n<<" et "<<m<<" sont des amis "<<endl;
else

3
SMC/SMP 2019/2020
FPK Corrigé TD2 – les boucles (for) –
cout<<n<<" et "<<m<<" ne sont pas des amis "<<endl;
return 0;
}
//
___________________________________________________________________________
__//
#include <iostream>

using namespace std;

int main()
{
int n,m,somDivN,somDivM,i;
cout<<"Donner une valeur de n :";
cin>>n;
cout<<"Donner une valeur de m :";
cin>>m;
somDivN=0;
for(i=1;i<=n;i++)
{
if(n%i==0)
somDivN=somDivN+i;
}
somDivM=0;
for(i=1;i<=m;i++)
{
if(m%i==0)
somDivM=somDivM+i;
}
if (n+m==somDivM && m+n==somDivN)
cout<<n<<" et "<<m<<" sont des nombres amicaux "<<endl;
else
cout<<n<<" et "<<m<<" ne sont pas des nombres amicaux "<<endl;
return 0;
}
//
___________________________________________________________________________
__//
#include <iostream>

using namespace std;

int main()
{
int n,m,somDivN,somDivM,i,diff;
cout<<"Donner une valeur de n :";
cin>>n;
cout<<"Donner une valeur de m :";
cin>>m;
somDivN=0;

4
SMC/SMP 2019/2020
FPK Corrigé TD2 – les boucles (for) –
for(i=2;i<n;i++)
{
if(n%i==0)
somDivN=somDivN+i;
}
somDivM=0;
for(i=2;i<m;i++)
{
if(m%i==0)
somDivM=somDivM+i;
}
if (n>m)
diff=n-m;
else
diff=m-n;

if (somDivM==0 && somDivN==0 && diff==2)


cout<<n<<" et "<<m<<" sont des nombres jumeaux "<<endl;
else
cout<<n<<" et "<<m<<" ne sont pas des nombres jumeaux "<<endl;
return 0;
}

Vous aimerez peut-être aussi