最大公约数问题 iostream 麻烦改错

来源:百度知道 编辑:UC知道 时间:2024/05/31 01:46:57
#include <iostream>
using namespace std;
int main(){
int n,i,j,k;
int si[11]={0};
cin>>n;

for (i=1;i<=n;i++)
cin>>si[i];

for (k=10000;k>=1;k--)
{
for(j=1;j<=n;j++)
{
if ((si[j]%k)!=0) break;
}
if (j==n)
cout<<k; break;
}

return 0;
}
我补充一下...
是n个数的最大公约数...
最大公约数<=10000...
n <=11 所以si[n]载入的是每个数字...
k是最大公约数...
我是新手..所以只会用枚举来做...
如果 k 不能整除si[?]的话直接退出...
否则当j循环到=10时输出最大公约数 k...

代码意义不明,没法改,编译错误没有

原代码错的太多了 没法改 我给你一个吧

#include<iostream>
using namespace std;
int main()
{
int p,r,n,m,temp;
cout<<"请输入两个正整数n,m:"<<endl;
cin>>n>>m;
if(n<m)
{
temp=n;
n=m;
m=temp;
}
p=n*m;
while(m!=0)
{
r=n%m;
n=m;
m=r;
}
cout<<"最大公约数是:"<<n<<endl;
return 0;
}

#include <iostream>
using namespace std;
int main()
{
int x,y,m,n,r;
cin>>x;
cin>>y;
m=x;
n=y;
r=x%y;
while(r!=0)
{
x=y;
y=r;
r=x%y;
}

cout<<y<<endl;

}

已经运行过了
正确得

最大公约数
拼音:zuì dà gōng yuē shù
英语:greatest common divisor
德语:Größter gemeinsamer Teiler(ggT)

最大公约数(greatest common divisor,简写为gcd;