用for循环辗转相除法求最大公约数
时间: 2023-11-20 13:49:27 浏览: 36
下面是用for循环实现辗转相除法求最大公约数的代码:
```c
int gcd(int a, int b) {
int r;
while (b > 0) {
r = a % b;
a = b;
b = r;
}
return a;
}
```
该函数实现了求a和b的最大公约数。在每次循环中,如果b为0,则说明a就是最大公约数,否则将a赋值为b,将b赋值为a%b的结果,继续循环。
相关问题
c语言辗转相除法求最大公约数for循环
以下是使用C语言编写的辗转相除法求最大公约数的for循环实现:
```c
#include <stdio.h>
int main() {
int a, b, t, gcd;
scanf("%d %d", &a, &b);
for (int i = 1; i <= a && i <= b; i++) {
if (a % i == 0 && b % i == 0) {
gcd = i;
}
}
printf("%d", gcd);
return 0;
}
```
该程序首先从用户输入中读取两个整数a和b,然后使用for循环从1到a和b中较小的那个数进行遍历,如果a和b都能被当前的数整除,则将当前的数作为最大公约数gcd。最后输出gcd即可。
在C语言中利用for循环一及辗转相除法求最大公约数和最小公倍数
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int a, b, x, y, t, gcd, lcm;
printf("请输入两个正整数:\n");
scanf("%d %d", &x, &y);
a = x;
b = y;
// 求最大公约数
for (t = a % b; t != 0; t = a % b) {
a = b;
b = t;
}
gcd = b;
// 求最小公倍数
lcm = x * y / gcd;
printf("%d 和 %d 的最大公约数是 %d\n", x, y, gcd);
printf("%d 和 %d 的最小公倍数是 %d\n", x, y, lcm);
return 0;
}
```
这段代码利用了 for 循环和辗转相除法求解最大公约数和最小公倍数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)