解题思路: 求三个数的最大公约数
递归实现辗转相除法求最大公约数
先求a, b的最大公约数x
再求x, c的最大公约数输出答案
注意事项: gcd函数不能传入两个0
参考代码:
#include <bits/stdc++.h> using namespace std; inline int gcd(int a, int b) { //模板 if (a % b == 0) return b; else return (gcd(b, a % b)); } int main() { int a, b, c; cin >> a >> b >> c; int x = a * b / gcd(a, b); int ans = x * c/ gcd(x, c); cout << ans; return 0; }
0.0分
1 人评分
C二级辅导-公约公倍 (C语言代码)浏览:2122 |
【回文数(二)】 (C语言代码)浏览:855 |
上车人数 (C语言代码)浏览:781 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:789 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:528 |
Cylinder (C语言描述+详细分析)浏览:3265 |
C二级辅导-阶乘数列 (C语言代码)浏览:521 |
GC的苦恼 (C语言代码)浏览:621 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:785 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:540 |