解题思路:
1、辗转相除法(如未知自行百度)
2、两个数的乘积等于这两个数的最大公约数与最小公倍数的积。即(a,b)×[a,b]=a×b
故最小公倍数 = 两数乘积/最大公约数(函数调用)
参考代码:
#include<stdio.h> int gcd(int m,int n); int lsm(int m,int n); int main(){ int m,n; scanf("%d %d",&m,&n); printf("%d %d",gcd(m,n),lsm(m,n)); return 0; } int gcd(int m,int n){ int a=0,b=1; while(b){ a = m / n; b = m % n; m = n; n = b; } return m; } int lsm(int m,int n){ return m*n/gcd(m,n); }
0.0分
1 人评分
数组输出 (C语言代码)浏览:811 |
简单的a+b (C语言代码)浏览:827 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:583 |
Hello, world! (C语言代码)浏览:1315 |
剔除相关数 (C语言代码)浏览:1058 |
printf基础练习2 (C语言代码)浏览:955 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:611 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1267 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)万恶的long long浏览:906 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:760 |