读书人

求公约数的步骤求教

发布时间: 2014-01-09 23:07:34 作者: rapoo

求公约数的方法求教
这个方法找到的公约数总是不对,求大神指教下哪里出的错误。

#include<iostream>
using namespace std;
int main()
{
int m;
int n;
int r;
cin>>m>>n;
int temp;//临时变量temp
temp=1;
while(temp<m&&temp<n)
{
if(m%temp==0&&n%temp==0)
{
r=temp;
temp++;
}
temp++;
}
cout<<r;

}
[解决办法]
while(temp<=m&&temp<=n)

比如80和40。
像你那样,到39就没了。
[解决办法]
你的程序功能应该是输出了最大公约数,然而会遇到一个数是另一个数的约数,把while循环条件里的<全部改成<=

读书人网 >C++

热点推荐