用辗转相除法求最大公约数和最小公倍数,生成C代码
时间: 2024-05-06 13:20:58 浏览: 14
以下是用辗转相除法求解最大公约数和最小公倍数的C代码:
```
#include <stdio.h>
int main() {
int a, b, gcd, lcm, temp;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
temp = a * b;
while (b != 0) {
int t = b;
b = a % b;
a = t;
}
gcd = a;
lcm = temp / gcd;
printf("最大公约数为:%d\n", gcd);
printf("最小公倍数为:%d\n", lcm);
return 0;
}
```
相关问题
辗转相除法求最大公约数和最小公倍数的代码c
以下是使用C语言实现辗转相除法求最大公约数和最小公倍数的代码:
```
#include <stdio.h>
int main() {
int m = 0;
int n = 0;
int temp = 0;
printf("请输入正整数m和n的值:\n");
scanf("%d %d", &m, &n);
int sum = m * n;
if (m < n) {
temp = m;
m = n;
n = temp;
}
while (1) {
if (m % n == 0) {
break;
}
m = n;
n = m % n;
}
printf("最大公约数为:%d\n", n);
printf("最小公倍数为:%d\n", sum/n);
return 0;
}
```
其中,`m`和`n`分别为输入的两个正整数,`temp`为临时变量,`sum`为两数之积,`if`语句用于判断`m`和`n`的大小,`while`循环用于进行辗转相除法求最大公约数,最后输出最大公约数和最小公倍数。
C语言用辗转相除法求最大公约数和最小公倍数
最大公约数和最小公倍数可以通过辗转相除法来求解。
辗转相除法,也叫欧几里得算法,是求最大公约数的一种方法。其基本思想是:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。即,设两数为a、b(a>b),它们的最大公约数设为gcd(a,b),根据辗转相除法,有:
gcd(a,b) = gcd(b,a%b)
当a%b=0时,b即为所求的最大公约数。
最小公倍数是指两个或多个整数公有的倍数中最小的一个。可以通过最大公约数来求解。设两数为a、b(a>b),它们的最小公倍数设为lcm(a,b),则有:
lcm(a,b) = a * b / gcd(a,b)
下面是用C语言实现辗转相除法求最大公约数和最小公倍数的代码:
```c
#include <stdio.h>
// 辗转相除法求最大公约数
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// 求最小公倍数
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d%d", &a, &b);
printf("它们的最大公约数为:%d\n", gcd(a, b));
printf("它们的最小公倍数为:%d\n", lcm(a, b));
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)