题目出处
简单题
思路:
首先你得知道什么亲和数, 了解清楚之后,那就用最直接的想法解题:分别对两个数求出各自所有的真约数,然后相加对比
关键代码:
// 返回1是YES, 反之是NO
int fun(long a, long b)
{
int i;
long asum = 1, bsum = 1;
long temp = a > b ? a/2 : b/2;
for (i = 2; i <= temp; i++) {
if (a % i == 0) asum += i;
if (b % i == 0) bsum += i;
}
(asum == b && bsum == a) ? return 1 : return 0;
}