Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long int ll;
- const int mx=1e6+123;
- bool is_prime[mx];
- vector<int>prime;
- void prime_gen(ll n)
- {
- is_prime[2]=1;
- for(int i=3;i<=n;i+=2)
- {
- is_prime[i]=1;
- }
- for(int i=3;i*i<=n;i+=2)
- {
- if(is_prime[i]==1)
- {
- for(int j=i*i;j<=n;j+=(i+i))
- {
- is_prime[j]=0;
- }
- }
- }
- prime.push_back(2);
- for(int i=3;i<=n;i+=2)
- {
- if(is_prime[i]==1) prime.push_back(i);
- }
- }
- ll Number_div(ll n)
- {
- ll res=1;
- for(auto u:prime)
- {
- if(u*u>n) break;
- ll cnt=0;
- if(n%u==0)
- {
- while(n%u==0)
- {
- n/=u;
- cnt++;
- }
- }
- res*=(cnt+1);
- }
- if(n>1) res*=2;
- return res;
- }
- int main()
- {
- prime_gen(1e6);
- ll t;
- cin>>t;
- while(t--)
- {
- ll n;
- cin>>n;
- ll ans;
- ans=Number_div(n);
- cout<<ans<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment