Advertisement
Guest User

Untitled

a guest
Apr 21st, 2018
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef long long ll;
  5.  
  6. #define PI acos(-1.0)
  7. #define MX 1000000
  8. #define MOD 1000000007
  9.  
  10. map<ll,ll>mymap;
  11. #define ff first
  12. #define ss second
  13.  
  14. ll dp[MX];
  15.  
  16. ll sumFactors(ll x)
  17. {
  18. ll LIM = sqrt(x);
  19. ll sum = 1;
  20. for(ll i=2 ; i<=LIM ; i++){
  21. if(x%i == 0){
  22. ll a = i;
  23. ll b = x/i;
  24.  
  25. if(a != b) sum+=(a+b);
  26. else sum+=a;
  27. }
  28. }
  29. return sum;
  30. }
  31.  
  32. int main()
  33. {
  34. ll n,a,b,i,j,k,t,tc=1;
  35.  
  36. for(i=220; i<MX ;i++){
  37. ll sum = sumFactors(i);
  38. if(i!=sum) mymap[i] = sum;
  39. }
  40.  
  41. for(auto i:mymap){
  42. if(mymap[i.ss] == i.ff)
  43. dp[i.ff] = i.ss;
  44. }
  45.  
  46. cin>>t;
  47.  
  48.  
  49. while(t--){
  50. cin>>a>>b;
  51.  
  52. cout<<"Case "<<tc++<<':'<<endl;
  53.  
  54. for(i=a ; ;i++){
  55. if(dp[i] > b || i > b) break;
  56.  
  57. if(dp[i]){
  58. cout<<i<<' '<<dp[i]<<endl;
  59. j = i;
  60. i= dp[i];
  61.  
  62. }
  63. if(dp[j] == b) break;
  64. }
  65. }
  66.  
  67.  
  68. return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement