题目描述
输入两个正整数m和n,求其最大公约数和最小公倍数。
输入
两个整数
输出
最大公约数,最小公倍数
样例输入
5 7
样例输出
1 35
提示
输入使用:scanf("%d %d",&n,&m);
输出使用:printf("%d %d
",a,b);
注:a为n,m的最大公约数,b为n,m的最小公倍数.
输出不要有多余的逗号和其他文字,一些错误输出如下:
printf("%d,%d
",a,b);printf
(
"最大公约数是%d,最小公倍数是%d
"
,a,b);
来源
int
main()
{
int
a,m,n,cun,bei;
scanf
(
"%d %d"
,&m,&n);
a=m*n;
if
(m<n)cun=m,m=n,n=cun;
while
(n!=0)
{
cun=m%n;
m=n;
n=cun;
}
bei=a/m;
printf
(
"%d %d"
,m,bei);
return
0;
}
或递归:
#include<stdio.h>
int gys(int a,int b)
{ if(b==0)
return(a);
else
return(gys(b,a%b));
}
int main()
{
int a,b,p,z,i;
scanf("%d",&z);
while(z--)
{scanf("%d%d",&a,&b);
p=a*b;
i=gys(a,b);
printf("%d
",i);}
return 0;
}