ACM题,新人,代码可能麻烦了点帮忙看下哪儿错了,可以的话顺便说个好的代码.Description 输入两个正整数,输出其最大公约数和最小公倍数.Input 输入两个正整数n和m(n
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 19:25:45
ACM题,新人,代码可能麻烦了点帮忙看下哪儿错了,可以的话顺便说个好的代码.Description 输入两个正整数,输出其最大公约数和最小公倍数.Input 输入两个正整数n和m(n
ACM题,新人,代码可能麻烦了点帮忙看下哪儿错了,可以的话顺便说个好的代码.
Description
输入两个正整数,输出其最大公约数和最小公倍数.
Input
输入两个正整数n和m(n
ACM题,新人,代码可能麻烦了点帮忙看下哪儿错了,可以的话顺便说个好的代码.Description 输入两个正整数,输出其最大公约数和最小公倍数.Input 输入两个正整数n和m(n
#include"stdio.h"
int main()
{
int m,n,d[20],e[20],i,c,j=0,k=0,a=0,b;
scanf("%d%d",&m,&n);
for(i=1;i=0;k--)
{
if(d[j]==e[k])
a=d[j];
}
if(a!=0)
break;
}
for(c=1;c*m%n!=0;c++) //求最小公倍数
{
}
b=c*m;
printf("a=%d b=%d\n",a,b);
return 0;
}
改的太痛苦了,要我绝对不会这么写,既复杂又啰唆,而且可计算的数字范围太小
辗转整除求余法
#include"stdio.h"
int main(void)
{
unsigned long m,n,t,mul;
scanf("%lu%lu",&m,&n);
if(m>n)
{
t=m;
m=n;
m=t;
}
mul=m*n;
while(m%n)
{
t=m%n;
m=n;
n=t;
}
printf("%lu %lu\n",n,mul/n);
return 0;
}