公约数

题目描述

输入两个正整数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;
}

原文地址:https://www.cnblogs.com/SSYYGAM/p/4211100.html