Description
输入两个整数,求它们的最大公约数与最小公倍数。
Input
输入两个整数
Output
第一行输出最大公约数; 第二行输出最小公倍数;
Sample Input
64
48
Sample Output
16
192
分析:
求最大公约数采用辗转相除的方法。
ex:
有两整数a和b:
① a%b得余数c
② 若c=0,则b即为两数的最大公约数
③ 若c≠0,则a=b,b=c,再回去执行①
例如求27和15的最大公约数过程为:
27÷15 余12 15÷12余3 12÷3余0 因此,3即为最大公约数
最大公倍数计算公式为a*b/最大公约数
代码:
#include<stdio.h>
int main(void)
{
int i,j;
void func(int i,int j);
scanf("%d %d",&i,&j);
func(i,j);
return 0;
}
void func(int i,int j)
{
int c,m,n;
m = i;n =j;
while(j!=0)
{
c = i%j; i = j; j = c;
}
printf("%d\n",i);
printf("%d\n",m*n/i);
}