HDOJ 2040 亲和数

来源:互联网 发布:php图书管理系统 编辑:程序博客网 时间:2024/05/20 07:37

#include <cstdio>#include <cmath>int sum(int);// 求真约数的和//#define yangyuanint main(){#ifdef yangyuanfreopen("in", "r", stdin);#endif // yangyuan    int m, a, b;    scanf("%d", &m);while (m--){        scanf("%d%d", &a, &b);if (a == sum(b) && b == sum(a))printf("YES\n");elseprintf("NO\n");}    return 0;}inline int sum(int x){    if (x == 0 || x == 1)// 0没有约束,1没有真约数return 0;    int max = x >> 1, sum = 1;    for (int i = 2; i <= max; ++i)        if (x % i == 0)sum += i;return sum;}

        根据亲和数的定义,分别求解真约数的和,然后判断和是否相等就好。


原创粉丝点击