//先求m-n里面每个数的因子之和放在数组a[i]里面 //然后对比哪个数的因子之和等于另一个数 另一个数的因子之和等于那个数 #include <stdio.h> void main() { int i,j,m,n; int a[10000]; //数组a[]的下标代表m-n中的数 而数组中的值代表对应下标数的因子之和 scanf("%d%d",&m,&n); for(i=m;i<=n;i++) //将i的因子之和赋值给a[i] { a[i]=0; for(j=1;j<i;j++) { if(i%j==0) a[i]=a[i]+j; } } for(i=m;i<=n;i++) { for(j=i+1;j<=n;j++) { if(i==a[j]&&a[i]==j) { printf("%d %d\n",i,j); } } } } |
Double click to view unformatted code.