使用while循环写出辗转相除法
时间: 2023-10-27 09:41:28 浏览: 42
当可以!下面是使用while循环来实现辗相除法的代码:
```python
def gcd, b):
while b != 0:
, b = b, a % b
return a
```
在这个代码中,我们使用循环来不断更新a和b的值,直到b为0为止。每次循环中,我们将a的值更新为b的值,将b的值更新为a除以b的余数。最后,当b为0时,我们得到的a就是最大公约数。
相关问题
用c语言,使用while循环语句写出辗转相除法
当然可以!以下是使用C语言编写的辗转相除法代码:
```c
#include <stdio.h>
int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
int result = gcd(num1, num2);
printf("最大公约数为:%d\n", result);
return 0;
}
```
在这个代码中,我们使用了一个while循环来不断更新a和b的值,直到b为0为止。每次循环中,我们将b的值更新为a除以b的余数,将a的值更新为原来的b的值。最后,当b为0时,我们得到的a就是最大公约数。在主函数中,我们输入两个整数并调用gcd函数来计算最大公约数,并将结果输出到屏幕上。
用for循环写辗转相除法
好的,请输入以下代码:
```
def gcd(a, b):
while(b):
a, b = b, a%b
return a
def extGcd(a, b):
x, y, u, v = 0, 1, 1, 0
while(a):
q, r = divmod(b, a)
m, n = x-u*q, y-v*q
b, a, x, y, u, v = a, r, u, v, m, n
gcd = b
return gcd, x, y
def inv(a, p):
gcd, x, y = extGcd(a, p)
assert(gcd == 1)
return x%p
a, b = map(int, input().split())
print(gcd(a, b))
```
输入两个整数,程序将输出它们的最大公约数。