rwkj 1264 最大公约数与最小公倍数

总提交:1728            测试通过:649

描述

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

输入

有多行,每行2个正整数m和n。

输出

m和n的最大公约数、最小公倍数。

样例输入

16 24
5 7

样例输出

8 48
1 35

提示

要求:编写求最大公约数和最小公倍数的函数。

 
 
 

#include <stdio.h>
int gcd(int m,int n)
{
if(n==0) return m;
else return gcd(n,m%n);
}
int main()
{
int x,y,t;
while(scanf("%d%d",&x,&y)!=EOF)
{
t=gcd(x,y);
printf("%d %d ",t,x/t*y);
}
}

#include <stdio.h>
int main( )
{ int x,y,m,n;
while( scanf("%d%d" ,&m,&n)==2)
{
m>1;

x= m<n ? m : n;
while (m%x!=0 || n%x!=0)
x--;
y=(m/x)*n;
printf("%d %d ",x,y);
}
return 0;
}


#include<stdio.h>

int gcd(int a,int b)
{
int t=a%b;
while(t)
{ a=b;b=t;t=a%b; }
return b;
}

int main()
{
int m,n;
while( scanf("%d%d",&m,&n)==2 )
printf("%d %d ",gcd(m,n),m/gcd(m,n)*n);
return 0;
}

 
 
 
 
 
 
原文地址:https://www.cnblogs.com/2014acm/p/3911329.html