0
点赞
收藏
分享

微信扫一扫

最大公约数和最小公倍数

输入两个正整数m和n,求其最大公约数和最小公倍数。

编程提示:求两个正整数的最大公约数和最小公倍数采用的是欧几里得算法,也就是我们常说的辗转相除法。该算法如下:
(1) 对于已知两数m,n,使得m>n (2) m除以n得余数r (3) 若r=0,则n为最大公约数,结束;否则执行(4) (4) m←n,n←r,再重复执行(2)

输入格式:

输入两个正整数m n,中间用一个空格分隔。

输出格式:

输出最大公约数与最小公倍数,用一个空格分隔。

输入样例:

在这里给出一组输入。例如:

9 15

输出样例:

在这里给出相应的输出。例如:

3 45
#include "stdio.h"
int main()
{
   int m,n,a,b,c,x,y;
   scanf("%d%d",&m,&n);
   if(m>n)
   b=m,c=n;
   else
   b=n,c=m;
   if(b%c==0)
   x=c,y=b;
   else
   for(a=1;a<n;a++)
   if(b%a==0&&c%a==0)
   x=a;
   y=(b*c)/x;
   printf("%d %d",x,y);
   return 0;
}

 

举报

相关推荐

0 条评论