作业帮 > 综合 > 作业

输入m、n(要求输入数均大于0),输出它们的最大公约数,用数值写简单点的.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/06 14:21:16
输入m、n(要求输入数均大于0),输出它们的最大公约数,用数值写简单点的.
先给你一个高效的版本,复杂度log(n)算法是:欧几里得算法
#include
int Gcd(int a,int b)
{
if(b==0) return a;
return Gcd(b,a%b);
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
int gcd=Gcd(a,b);
printf("answer=%d\n",gcd);
return 0;
}
在给你一个朴素的:
#include
int main()
{
int a,b;
scanf("%d %d",&a,&b);
int i;
int answer=1;
for(i=1;i*i
再问: 出错了吧,应该输出的是6呢#55
再答: {intm,n,k; while(scanf(%d%d,&m,&n)!=2); for(k=m>n?n:m;n%k!=0或者m%k!=0;k--); printf("%d",k); }