控制流语句输入辗转相除法求两个整数的最大公约数
时间: 2023-09-24 12:03:24 浏览: 50
下面是使用控制流语句(while循环)实现辗转相除法求两个整数的最大公约数的代码:
```python
# 读取输入的两个整数
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
# 求两个整数的最大公约数
while num2 != 0:
r = num1 % num2
num1 = num2
num2 = r
print("最大公约数为:", num1)
```
在上述代码中,使用了`while`循环来进行辗转相除法求解。这里的`r`表示余数,每次循环都将`num2`赋值给`num1`,将`r`赋值给`num2`,直到`num2`为0时,最终的`num1`即为两个整数的最大公约数。
相关问题
输入两个正整数m和n,求其最大公约数和最小公倍数。c++
这段代码使用了辗转相除法来求解两个正整数m和n的最大公约数和最小公倍数。用户需要输入两个正整数m和n,然后程序会根据输入的数值计算它们的最大公约数和最小公倍数,并输出结果。其中,最大公约数的计算使用了辗转相除法,而最小公倍数则是通过两数相乘再除以最大公约数来计算得出的。
代码中使用了C++语言,主要包括了输入输出流、命名空间、条件语句、循环语句、变量定义和赋值、数学运算等基本语法。如果您想要了解更多关于C++语言的知识,可以参考相关的教材或者在线教程。
问一下辗转相除法的c++程序怎么实现?
辗转相除法是求两个数的最大公约数的一种常用算法,其基本思想是:用较大的数除以较小的数,再用余数去除较小的数,如此循环,直到余数为零,此时较小的数即为所求的最大公约数。
下面是使用C++实现辗转相除法的程序示例:
```c++
#include <iostream>
using namespace std;
int gcd(int a, int b) {
int r;
while (b != 0) {
r = a % b;
a = b;
b = r;
}
return a;
}
int main() {
int num1, num2;
cout << "请输入两个正整数:" << endl;
cin >> num1 >> num2;
int result = gcd(num1, num2);
cout << num1 << "和" << num2 << "的最大公约数为:" << result << endl;
return 0;
}
```
在上述代码中,我们定义了一个 `gcd` 函数来实现辗转相除法,该函数接受两个参数,即待求最大公约数的两个数 `a` 和 `b`,然后使用 while 循环来进行辗转相除的计算,最后返回最大公约数。
在主函数中,我们先通过输入流输入两个待求最大公约数的数,然后调用 `gcd` 函数来计算它们的最大公约数,并输出最终结果。
希望这个例子对您有所帮助。