c语言函数判断两个数是不是亲和数
时间: 2023-11-21 14:05:15 浏览: 145
(C语言)判断两个数组所含元素是否相同
亲和数指两个数,其中一个数所有因子之和等于另一个数,如220的因子和1+2+4+5+10+11+20+22+44+55+110=284,284的因子和1+2+4+71+142=220,因此220与284是一对亲和数。判断两个数是否为亲和数,可以编写以下函数:
```c
int sum_of_factors(int n) {
int i, sum = 0;
for (i = 1; i <= n / 2; i++) {
if (n % i == 0) {
sum += i;
}
}
return sum;
}
int is_amicable(int a, int b) {
if (sum_of_factors(a) == b && sum_of_factors(b) == a) {
return 1;
} else {
return 0;
}
}
```
其中,`sum_of_factors` 函数计算一个数的因子和,`is_amicable` 函数判断两个数是否为亲和数。如果两个数是亲和数,`is_amicable` 函数返回1,否则返回0。
阅读全文