I-1- Utilisation des tableaux
a- Programme
//Muliplication de deux entiers : méthode russe
//Utilisation des tableaux
#include<conio.h>
#include<iostream.h>
#include<time.h>
void main(void)
{
int n,m;
int i,j;
float s=0;
int A[100],B[100];
time_t
temps;
cout
<<"******** Multiplication de deux entiers (méthode
russe)*******"<< endl;
cout
<<"********
Utilisation des tableaux
*******"<< endl;
cout
<<"Entrez deux entiers n et m :";
cin
>> n ;
cin
>> m ;
time(&temps);
cout<<"Temps début :"<<
ctime(&temps)<<endl;
if (m<=n)
{
A[0]=m;
B[0]=n;
}
else
{
A[0]=n;
B[0]=m;
}
i=0;
while (A[i]!=1)
{
i=i+1;
A[i]=A[i-1] / 2;
B[i] = B[i-1] +
B[i-1];
}
for (j=0;j<=i;j++)
if ((A[j] % 2) != 0)
s=s+B[j];
cout
<< "la multiplication de "<< m << " et "
<< n << " est : "<< s << endl;
time(&temps);
cout<<"Temps Fin :"<<
ctime(&temps)<<endl;
getch();
}
b- Jeux d’essai
I-2- Sans l'utilisation des tableaux
a- Programme
//Muliplication de deux entiers en utilisant la
méthode russe : Sans utilisation des tableaux
#include<conio.h>
#include<iostream.h>
#include<time.h>
void main(void)
{
int n,m,A,B;
float s=0;
time_t temps;
cout
<<"******** Multiplication de deux entiers (méthode
russe)*******"<< endl;
cout
<<"******** Sans
utiliser les tableaux
*******"<< endl;
cout
<<"Entrez deux entiers n et m :";
cin
>> n ;
cin
>> m ;
time(&temps);
cout<<"Temps début :"<<
ctime(&temps)<<endl;
if (m<=n)
{
A=m;
B=n;
}
else
{
A=n;
B=m;
}
do
{
if ((A % 2) != 0)
s=s+B;
A=A/2;
B = B + B;
} while (A!=0);
cout << "la multiplication de
"<< m << " et " << n << " est :
"<< s << endl;
time(&temps);
cout<<"Temps fin :"<<
ctime(&temps)<<endl;
getch();
}