C语言中的辗转相除法
时间: 2024-06-13 16:09:32 浏览: 229
基于c实现的辗转相除法求两个数的最大公约数
C语言中的辗转相除法是一种求两个数的最大公约数的算法。其基本思想是用较大的数去除以较小的数,然后用较小的数去除以所得的余数,再用余数去除以刚才的余数,如此反复,直到最后余数为零为止。此时,较小的数即为所求的最大公约数。
以下是C语言中的辗转相除法的代码实现:
```c
#include <stdio.h>
int main() {
int m = 24;
int n = 18;
int r = 0;
while (r = m % n) {
r = m % n;
m = n;
n = r;
}
printf("%d\n", n);
return 0;
}
```
上述代码中,m和n分别为待求最大公约数的两个数,r为余数。在while循环中,先用m除以n得到余数r,如果r不为0,则将n赋值给m,将r赋值给n,继续循环;如果r为0,则n即为最大公约数。
阅读全文