版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
题目描述
已知两个正整数m和n,求其最大公约数和最小公倍数。
输入与输出要求:
输入的正整数m和n之间用空格分隔。输出的最大公约数和最小公倍数之间用空格分隔。测试用例保证m、n及其最小公倍数可以用int存储。
程序运行效果:
Sample 1:
12 36↙
12 36↙
Sample 2:
13 7↙
1 91↙
#include<stdio.h>
int main()
{ int a,b;
int k,t;
int i;
scanf("%d %d",&a,&b);
for(k=a,t=b;t>0;){
i=k%t;
k=t;
t=i;
}
printf("%d %d\n",k,a/k*b);
return 0;
}
Attention:
辗转相除法求出最大公约数
最大公倍数=a/k乘b 不可以写成 a乘b/k