c语言输出两个数的所有公因数
时间: 2024-10-21 21:07:19 浏览: 33
C语言实现最大公约数和最小公倍数算法
在C语言中,找出两个整数的所有公因数(Common Divisors),可以使用循环遍历每个数,然后检查它们是否能整除另一个数。下面是一个简单的示例代码片段:
```c
#include <stdio.h>
// 函数来计算最大公约数(GCD)
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// 找出两个数的所有公因数
void find_common_divisors(int num1, int num2) {
int i = 1;
printf("公因数列表: ");
while (i <= num1 && i <= num2) {
if (num1 % i == 0 && num2 % i == 0) {
printf("%d ", i);
}
i++;
}
printf("\n");
}
int main() {
int num1, num2;
printf("请输入两个数字: ");
scanf("%d %d", &num1, &num2);
// 检查输入的合法性,如果num1大于num2,则交换它们
if (num1 > num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
find_common_divisors(num1, num2);
return 0;
}
```
在这个程序中,`gcd`函数用于求最大公约数,`find_common_divisors`函数则通过逐个测试找到两个数的公共因数。当用户运行这个程序并输入两个数字时,它会打印这两个数的所有公因数。
阅读全文