//我等于你,你赋给我 #include<iostream> #include<math.h> using namespace std; int a[10010]; int n,m; int isClose(int n) { int ans=0; int sqr=(int)sqrt(1.0*n); for(int i=2;i<=sqr;i++) { if(n%i==0) { ans+=(i+n/i); } } return ans+1; } int main() { cin>>m>>n; for(int i=m;i<=n;i++) { a[i]=isClose(i); } for( int i=m;i<=n;i++) { int b=a[i];//b为待比较的另一数,现在做到了i的因子和等于b,需判断b的因子和是否等于i if(b<m||b>n||a[i]==i||i>=b)continue; if(a[b]==i) cout<<i<<" "<<b<<endl; } return 0; } |
Double click to view unformatted code.