用c用语言写出如何判断两个数是否是亲和数
时间: 2024-04-30 10:24:58 浏览: 56
亲和数指的是两个正整数中,其中一个数的所有因子(不包括本身)之和等于另一个数,且另一个数的所有因子(不包括本身)之和等于第一个数。
用C语言可以通过编写一个判断函数来判断两个数是否为亲和数,代码如下:
```c
#include <stdio.h>
int sum_of_divisors(int n) {
int sum = 0;
for (int i = 1; i <= n / 2; i++) {
if (n % i == 0) {
sum += i;
}
}
return sum;
}
int are_amicable_numbers(int a, int b) {
if (sum_of_divisors(a) == b && sum_of_divisors(b) == a) {
return 1;
} else {
return 0;
}
}
int main() {
int num1, num2;
printf("Enter two numbers: ");
scanf("%d %d", &num1, &num2);
if (are_amicable_numbers(num1, num2)) {
printf("%d and %d are amicable numbers.\n", num1, num2);
} else {
printf("%d and %d are not amicable numbers.\n", num1, num2);
}
return 0;
}
```
在这个程序中,`sum_of_divisors` 函数用于计算一个数的所有因子之和,`are_amicable_numbers` 函数用于判断两个数是否为亲和数。在主函数中,用户输入两个数,然后调用 `are_amicable_numbers` 函数进行判断,最后输出结果。
阅读全文