亲密数
来源:互联网 发布:手机便签软件 编辑:程序博客网 时间:2024/04/28 02:49
Description
如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求n(220<=n<=10000)以内的全部亲密数。
Input
n,表示最大范围
Output
所有的数,每行一组亲密数,用一个空格隔开
Sample Input
1000
Sample Output
220 284
#include<iostream>
using namespace std;
int s(int n)
{
int r=0,i;
for(i=1;i<n;i++)
if(n%i==0)
r+=i;
return r;
}
int main()
{
int n,i,t;
cin>>n;
for(i=220;i<n;)
{
t=s(i);
if(s(t)==i)
{
if(i!=t)
cout<<i<<""<<t<<endl;
i=t+1;
}
else
i++;
}
}
0 0