酷代码 AI
菜单
服务商

输入两个数,求其最大公约数 辗转相除法:辗转相除法不需要把两个数作质因子分解,而是利用以下理论来确定两个正整数m和n 的最大公约数:如果q和r分别是m除以n的商和余数,即m=nq+r,则gcd(m,n)=gcd(n,r)。gcd(m,n)表示m,n的公约数。 辗转相除法的思想是:对于给定的两个正整数,用较大的数除以较小的数,若余数不为零,则将余数和较小的数组成一队新的数,继续进行上面的过程,直到大数被小数除尽,这就是较小的数就是原来两个数的最大公约数。 输入 两个正整数 输出 两个数的最大公约数 样例 样例输入1 28 42 样例输出1 14 以C++的形式回答

```cpp #include <iostream> using namespace std; // 定义求最大公约数的函数 int gcd(int m, int n) { // 当余数不为 0 时,继续循环 while (n != 0) { int r = m % n; m = n; n = r; } return m; } int main() { int a, b; // 读取输入的两个正整数 cin >> a >> b; // 调用 gcd 函数计算最大公约数 int result = gcd(a, b); // 输出结果 cout << result << endl; return 0; } ``` [2026-02-07 11:50:41 | AI问答 | 164点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多