我正在研究两个数字的gcd的简单算法。当我输入a和b时,我不知道为什么它会崩溃。
以下是代码:
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int a, b, d, i, max;
cin >> a;
cin >> b;
if (a<b)
{
max = b;
}
else
{
max = a;
}
for (i = 0; i <= max; i++)
{
if (a%i == 0 && b%i == 0)
{
d = i;
}
}
cout << d << endl;
}
答案 0 :(得分:0)
问题是:a%i == 0 && b%i == 0
。这段代码现在工作正常:
的#include 的#include
using namespace std;
int main()
{
int a, b, d, i, max;
cin >> a;
cin >> b;
if (a<b)
{
max = b;
}
else
{
max = a;
}
for (i = 1; i <= max; i++)
{
if (a%i == 0 && b%i == 0)
{
d = i;
}
}
cout << d << endl;
}