亲密数

来源:互联网 发布:手机便签软件 编辑:程序博客网 时间: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
原创粉丝点击