输入两个正整数求最大公因数的代码实现
👀你提供的代码存在问题,它只是在求一个数的除本身之外的最大因数,而不是求两个数的最大公因数。下面是修正后的代码: ```cpp #include <iostream> using namespace std; // 求两个数最大公因数的函数 int gcd(int a, int b) { // 辗转相除法 while (b != 0) { int temp = b; b = a % b; a = temp; } return a; } int main() { int a, b; // 输入两个正整数 cin >> a >> b; // 调用函数并输出结果 cout << gcd(a, b); return 0; } ``` ### 代码解释 - **`gcd`函数**:实现了辗转相除法。辗转相除法的原理是,两个整数的最大公因数等于其中较小的数和两数相除余数的最大公因数。不断用较小数和余数替换原来的两个数,直到余数为 0,此时的除数就是最大公因数。 - **`main`函数**:首先从标准输入读取两个正整数`a`和`b`,然后调用`gcd`函数计算它们的最大公因数,并将结果输出到标准输出。 ######[AI问答 | 312点数解答 | 2026-08-15 21:03:50]
相关提问
- C++ 实现:按顺序存储并输出战力 1 - 10 守卫数量(DeepSeek | 130点数解答 | 2026-01-17 14:11:22)137
- C++实现按战力顺序输出守卫数量(字节豆包 | 185点数解答 | 2026-02-25 22:33:20)98
- C++实现按战力顺序输出守卫数量(字节豆包 | 497点数解答 | 2026-03-20 20:01:06)96
- 小核桃存储守卫战力数量的Python程序实现(字节豆包 | 150点数解答 | 2026-04-03 19:47:58)103
- 使用C++实现存储守卫战力并按顺序输出的程序(字节豆包 | 224点数解答 | 2026-04-12 19:13:22)67
- C++实现按战力顺序输出守卫数量(字节豆包 | 178点数解答 | 2026-05-16 20:40:13)67
- C++实现按战力顺序输出守卫数量的程序及开发建议(字节豆包 | 650点数解答 | 2026-05-16 21:25:38)78
- C++ 实现存储并输出不同战力守卫数量(字节豆包 | 393点数解答 | 2026-05-30 19:39:09)58
- 高考毕业晚会难题:从学生能力值求最大默契程度的Python解法(字节豆包 | 487点数解答 | 2026-01-24 13:10:18)117
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)561
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)477
- C++ 实现查找指定数字在正整数序列中的位置(字节豆包 | 398点数解答 | 2026-04-11 13:08:06)99