解题思路:更相减损法
假设x y 两个数 最大公约数可以这样计算。以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到它们两个数相等为止。则相等的两个数就是所求的最大公约数。最大公倍数可以用公式计算,最大公倍数 * 最大公约数 = 两个数相乘;
注意事项:循环条件
参考代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int m, n;
cin >> m >> n;
int x = m * n;
while(m != n){
if(m > n)
m = m - n;
else if(n > m)
n = n - m;
}
cout << n << " " << x / n;
return 0;
}
0.0分
0 人评分
陶陶摘苹果 (C语言代码)浏览:1606 |
C语言训练-自由落体问题 (C语言代码)浏览:1738 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:606 |
C语言训练-排序问题<1> (C语言代码)浏览:601 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:587 |
简单的a+b (C语言代码)浏览:340 |
【金明的预算方案】 (C++代码)浏览:843 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:569 |
核桃的数量 (C语言代码)浏览:671 |
妹子杀手的故事 (C语言代码)浏览:1054 |