解题思路:
首先要知道最大公约数和最小公倍数是如何求解的(方法有很多,这里分别采用了以下方法)
最大公约数求解(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 人评分
买不到的数目 (C++代码)浏览:867 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:738 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:619 |
【魔板】 (C++代码)(时间超限,希望会的帮我改正一下)浏览:741 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:620 |
【亲和数】 (C语言代码)浏览:598 |
C语言程序设计教程(第三版)课后习题12.6 (C语言代码)浏览:654 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:512 |
分解质因数 (C++代码)浏览:1477 |
简单的a+b (C语言代码)浏览:462 |