c语言 判断两个正整数的最大公因数代码
时间: 2023-12-09 18:03:54 浏览: 31
以下是使用欧几里得算法来判断两个正整数的最大公因数的C语言代码:
```c
#include <stdio.h>
int main() {
int a, b, temp;
printf("请输入两个正整数:\n");
scanf("%d %d", &a, &b);
while (b != 0) {
temp = a % b;
a = b;
b = temp;
}
printf("最大公因数是:%d\n", a);
return 0;
}
```
相关问题
c语言计算两个正整数的最大公约数的代码
```c
#include<stdio.h>
int main()
{
int a, b, gcd;
printf("Enter two positive integers: ");
scanf("%d %d", &a, &b);
for(int i=1; i<=a && i<=b; i++)
{
if(a%i==0 && b%i==0)
gcd = i;
}
printf("GCD of %d and %d is %d", a, b, gcd);
return 0;
}
```
该程序要求用户输入两个正整数,然后使用for循环从1到两个数中较小的数进行遍历,判断当前的数是否同时是两个数的因数,如果是则更新最大公约数。最后输出最大公约数。
c语言输入两个正整数m,n求其最大公约数和最小公倍数
下面是C语言代码,可以输入两个正整数m和n,求它们的最大公约数和最小公倍数:
```c
#include <stdio.h>
int main() {
int m, n, a, b, temp, r = 0, min = 0;
printf("请输入两个正整数:\n");
scanf("%d%d", &m, &n);
a = m;
b = n;
if (a < b) { //交换大小顺序,大数对小数取余
temp = a;
a = b;
b = temp;
}
r = a % b;
while (r != 0) { //辗转相除求最大公因数,b即为最后的最大公因数
a = b;
b = r;
r = a % b;
}
min = (m * n) / b; //最小公倍数
printf("最大公约数:%d\n最小公倍数:%d\n", b, min);
return 0;
}
```