- 分别用穷举法和欧几里德算法实现求两个整数的最大公约数,并比较算法的效率。
穷举法:
源代码:
#include<iostream>
using namespace std;
int main()
{
int n,m;
int i;
int t;
cin>>n>>m;
if(n<m)
{
t=n;
n=m;
m=t;
}
for(i=m;i>0;i--)
{
if(n%i==0&&m%i==0){
cout<<i<<endl;
break;
}
}
return 0;
}
(2)欧几里德:
#include<iostream>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
int r;
do{
r=n%m;
n=m;
m=r;
}while(r!=0);
cout<<n<<endl;
return 0;
}