3.2亲密数

1.问题描述

如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。

2.代码


#include <stdio.h>

int main()
{
int a, i, b, n;
printf("There are following friendly - numbers pair smaller than 3000:\n");

for (a = 1; a < 3000; a++)
{

for (b = 0, i = 1; i <= a / 2; i++ )
{
if(! (a % i))
{
b += i;
}
}

for (n = 0, i = 1; i <= b/2; i++)
{
if(! (b % i))
{
n += i;
}
}

if(n == a && a < b)
{
printf("%4d..%4d\n", a, b);
}

}
return 0;
}

posted @   kuku睡  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示