#include "stdio.h" #include "math.h" #include "string.h" void main() { int m,n; long int i,k,j; int sum1,sum2; int a[2000][2]; scanf("%d%d",&m,&n); for(k=0,i=m+1;i<n;i++) { sum1=0,sum2=0; for(j=1;j<=i/2;j++) { if(i%j==0) sum1=sum1+j; //i的因子和为sum1 } for(j=1;j<=sum1/2;j++) //sum1的因子和为sum2 { if(sum1%j==0) sum2=sum2+j; } if(sum2==i&&sum1!=i) { a[k][0]=sum1; a[k][1]=i; k++; // printf("%ld %ld\n",sum1,i); } } for(i=0;i<k;i++) //去重 { for(j=0;j<k;j++) { if(a[i][0]==a[j][1]) { a[i][1]=0; a[i][0]=0; } } } for(i=0;i<k;i++) { if(a[i][0]!=0) printf("%d %d\n",a[i][0],a[i][1]); } } |
Double click to view unformatted code.