亲密数

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

#include<iostream>

using namespace std;

int main(){             

for(int i=1;i<=3000;i++)     

  {              

for(int j=1;j<i;j++)           

   {                    

 int sum=0;                     

int sum1=0;                

     if(i%j==0)                 

    {                            

sum+=j;                          

  for(int k=1;k<sum;k++)      

                      {                                  

 if(sum%k==0)                            

       {                                       

   sum1+=k;                                  

 }                         

   }                          

  if(sum1==i)                       

     {                           

        cout<<i<<" ";                    

        }                   

  }            

  }     

  } 

}

posted @ 2024-01-31 17:36  平安喜乐×  阅读(33)  评论(0)    收藏  举报