解题思路:
首先要知道最大公约数和最小公倍数是如何求解的(方法有很多,这里分别采用了以下方法)
最大公约数求解(M):利用了辗转相除法,对输入的两个数a,b(a>b),1、计算a与b的余数r;2、若r为0,则返回b;否则,a=b,b=r,重复1步骤直到r=0。
最小公倍数求解(N):M*N=a*b,根据此式得到最大公约数M后即可求出最小公倍数N。
参考代码:
#include<stdio.h> int gcd(int x, int y) //利用辗转相除法求解最大公约数 { return (x%y==0)?y:gcd(y, x%y); } int main() { int a,b,M,N; scanf("%d%d",&a,&b); M=gcd(a,b); N=(a*b)/M; //求解最小公倍数 printf("%d %d\n",M,N); return 0; }
0.0分
0 人评分