Advertisement
sajid161

Class - 29 : Task - 2

Jan 26th, 2025
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.43 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long int ll;
  4. const int mx=1e6+123;
  5. bitset<mx> isprime;
  6. vector<ll>primes;
  7. vector<pair<ll,ll>>vp;
  8. bool compare(const pair<ll, ll>& a, const pair<ll, ll>& b) {
  9.     if (a.first==b.first) {
  10.         return a.second>b.second;
  11.     }
  12.     if (a.first<b.first) {
  13.         return true;
  14.     }
  15.     return false;
  16. }
  17. void prime_gen(ll n)
  18. {
  19.     isprime[2]=1;
  20.     for(ll i=3;i<=n;i+=2) isprime[i]=1;
  21.     for(ll i=3;i*i<=n;i+=2)
  22.     {
  23.         if(isprime[i]==1)
  24.         {
  25.             for(ll j=i*i;j<=n;j+=2*i)
  26.             {
  27.                 isprime[j]=0;
  28.             }
  29.         }
  30.     }
  31.     primes.push_back(2);
  32.     for(ll i=3;i<=n;i+=2)
  33.     {
  34.         if(isprime[i]==1) primes.push_back(i);
  35.     }
  36. }
  37. void prime_div(ll i)
  38. {
  39.     ll p=i;
  40.     ll ans=1;
  41.     for(auto prime:primes)
  42.     {
  43.         if(prime*prime>i) break;
  44.  
  45.         if(i%prime==0)
  46.         {
  47.              ll cnt=0;
  48.             while(i%prime==0)
  49.             {
  50.                 cnt++;
  51.                 i/=prime;
  52.             }
  53.              ans*=(cnt+1);
  54.         }
  55.  
  56.     }
  57.     if(i>1) ans*=2;
  58.     vp.push_back({ans,p});
  59. }
  60. int main()
  61. {
  62.     prime_gen(1e6);
  63.     for(int i=1;i<=1000;i++)
  64.     {
  65.          prime_div(i);
  66.     }
  67.     sort(vp.begin(),vp.end(),compare);
  68.     int t;
  69.     cin>>t;
  70.     for(int i=1;i<=t;i++)
  71.     {
  72.         int n;
  73.         cin>>n;
  74.         cout<<"Case "<<i<<": "<<vp[n-1].second<<endl;
  75.     }
  76.  
  77. }
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement