主题:[讨论]C++求最大公约数算法?
我是个C++初学者,在求最大公约数的时候我没按书上的算法做。我的代码是这样的:
#include<iostream>
using namespace std;
int main()
{
int k=1;
int a,b;
cout<<"Please enter first number : \n";
cin>>a;
cout<<"Please enter second number : \n";
cin>>b;
while (k<=a&&k<=b)
{
if(a%k==0&&b%k==0)
k+=1;
}
cout<<"answer is : "<<k-1;
return 0;
}
可是它只能运算10以内两个数字!大于10时就没有反应了!我想知道为什么!
#include<iostream>
using namespace std;
int main()
{
int k=1;
int a,b;
cout<<"Please enter first number : \n";
cin>>a;
cout<<"Please enter second number : \n";
cin>>b;
while (k<=a&&k<=b)
{
if(a%k==0&&b%k==0)
k+=1;
}
cout<<"answer is : "<<k-1;
return 0;
}
可是它只能运算10以内两个数字!大于10时就没有反应了!我想知道为什么!