Advertisement
Nazmul_Hasan_Moon

A

Apr 21st, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define S second
  5. #define F first
  6. #define sz 3250
  7. ll p[sz/2],vis[sz],j;
  8. void sieve()
  9. {
  10.     p[j++]=2;
  11.     for(ll i=4; i<sz; i+=2)
  12.         vis[i]=1;
  13.     for(ll i=3; i<sz; i+=2)
  14.     {
  15.         if(!vis[i])
  16.         {
  17.             p[j++]=i;
  18.             if(i<=57)
  19.             {
  20.                 for(ll k=i*i; k<sz; k+=i*2)
  21.                     vis[k]=1;
  22.             }
  23.         }
  24.     }
  25. }
  26. int main()
  27. {
  28.     ios_base::sync_with_stdio(0);
  29.     cin.tie(0);
  30.     cout.tie(0);
  31.     sieve();
  32.     cout<<j<<endl;
  33.     map<ll,ll>mp;
  34.     mp[220]=284;
  35.     mp[1184]=1210;
  36.     for(ll i=10000000; i>2000; i--)
  37.     {
  38.         ll z=i,s,ss;
  39.         ss=1;
  40.         if(!(mp.find(z)!=mp.end()))
  41.         {
  42.             for(ll k=0; k<j; k++)
  43.             {
  44.                 if(z%p[k]==0)
  45.                 {
  46.                     s=p[k];
  47.                     while(z%p[k]==0)
  48.                     {
  49.                         s*=p[k];
  50.                         z/=p[k];
  51.                     }
  52.                     s--;
  53.                     s/=(p[k]-1);
  54.                     //cout<<s<<'*';
  55.                     ss*=s;
  56.                 }
  57.             }
  58.             if(z>1)
  59.             {
  60.                 s=z*z;
  61.                 s=(s-1)/(z-1);
  62.                 ss*=s;
  63.             }
  64.             ss-=i;
  65.             mp[ss]=i;
  66.             cout<<ss<<'-'<<i<<endl;
  67.         }
  68.     }
  69.     return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement