任务描述
本关任务:编程求出[1,n]
以内的全部亲密数。所谓亲密数是指:如果整数A的全部因子(不包括自身)之和等于B
,且整数B的全部因子(不包括自身)之和也等于A
,则A
和B
被称为亲密数。
相关知识
为了完成本关任务,你需要掌握:1.如何求出因子之和,2.如何使用循环嵌套。
编程要求
根据提示,在右侧编辑器补充代码。
测试说明
平台会对你编写的代码进行测试:
测试输入:3000
预期输出: 220 284
1184 1210
2620 2924
#include<stdio.h>
int main()
{
int a,i,b,n,s;
scanf("%d",&s);
for( a=1; a<s; 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("%d %d\n",a,b);
}
return 0;
}