c语言 判断两个正整数的最大公因数代码
时间: 2023-12-09 22:03:54 浏览: 72
以下是使用欧几里得算法来判断两个正整数的最大公因数的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语言中,求两个正整数的最大公因数(Greatest Common Divisor,简称GCD),通常可以使用欧几里得算法,也称为辗转相除法。下面是一个简单的示例代码:
```c
#include <stdio.h>
// 定义一个函数计算两个正整数的GCD
int GCD(int a, int b) {
while (b != 0) {
int temp = a % b; // 取余操作
a = b;
b = temp;
}
return a; // 返回最后的余数,即GCD
}
int main() {
int num1, num2;
printf("请输入两个正整数: ");
scanf("%d %d", &num1, &num2); // 获取用户输入
// 检查输入是否为正整数
if(num1 <= 0 || num2 <= 0) {
printf("输入错误,只接受正整数。\n");
return 1;
}
int result = GCD(num1, num2); // 计算GCD
printf("两数的最大公因数是: %d\n", result);
return 0;
}
```
这个程序首先提示用户输入两个正整数,然后利用GCD函数通过循环取余的方式不断缩小两个数的范围,直到找到它们的最大公因数。
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到两个数中较小的数进行遍历,判断当前的数是否同时是两个数的因数,如果是则更新最大公约数。最后输出最大公约数。
阅读全文