我知道如何编写代码来查找2的GCD数字。然而,我正在尝试解决一个寻找n数的GCD的问题,我认为该算法与使用Eucledian算法略有不同。我的代码可以编译,但它总是给我错误的结果。例如,当我输入n = 2,GCD of 16和12时,结果是8。下面是我的代码:
#include<iostream>
using namespace std;
int main()
{
int a,b[100],c,d,e=0;
cin>>a;
for(c=0 ; c<a ; c++)
{
cin>>b[c];
}
for(c=0 ; c<a-1 ; c++)
{
if(c < 1)
{
d = b[c];
}
if(b[c] < d)
{
d = b[c];
}
}
while(d>0)
{
for(c=0 ; c<a ; c++)
{
if(b[c] % d < 1)
{
e++;
}
}
if(e == c)
{
cout<<d;
break;
}
d--;
}
}你们能帮我找出代码中的错误吗?
https://stackoverflow.com/questions/38170726
复制相似问题