您的位置:首页 > 其它

HBU OJ004

2020-02-03 04:24 99 查看

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

输出格式要求:"(%4d,%4d)\n"
程序运行示例如下:
( 220, 284)
(1184,1210)
(2620,2924)
(5020,5564)
(6232,6368)

#include <stdio.h>
int main()
{
int a, b, i, n;
for (a = 1; a < 10000; a++)
{
for (b = 0,i = 1; i <= a / 2; i++)//假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。分解合数时得到的质数
{
if (a % i == 0)  b += i;
}
for (n = 0,i = 1; i <= b / 2; i++)
{
if (!(b % i))    //!(b%i)<==>b%i==0
n += i;
}
if (n == a && a < b) printf("(%4d,%4d)\n", a, b);
}

return 0;
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
绀香零八 发布了32 篇原创文章 · 获赞 10 · 访问量 956 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: