Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define wrench786 ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
- #define ll long long
- #define PI (acos(-1.0))
- #define LIMIT 1000000000
- using namespace std;
- vector<int>dum(50009,0);
- vector<int>prime;
- vector<int>divisors;
- void sieve(){
- int i,j;
- prime.push_back(2);
- for(i=3;i*i<50009;i+=2){
- if(!dum[i]){
- for(j=i*i;j<50009;j+=i){
- dum[j]=1;
- }
- }
- }
- for(i=3;i<50009;i+=2){
- if(!dum[i]){
- prime.push_back(i);
- }
- }
- }
- ll int pf(ll int n){
- ll int i,divisor=1,co=0,sqt=sqrt(n);
- for(i=0;prime[i]<=sqt;i++){
- if(n%prime[i]==0){
- co=1;
- while(n%prime[i]==0){
- n/=prime[i];
- co++;
- }
- divisor*=co;
- }
- sqt=sqrt(n);
- }
- if(n>1){
- divisor*=2;
- }
- return divisor;
- }
- int main(){
- wrench786
- #ifndef ONLINE_JUDGE
- clock_t tStart = clock();
- freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);
- #endif
- sieve();
- // int n,a,b;
- // ll int i,x;
- // divisors.push_back(0);
- // divisors.push_back(1);
- // divisors.push_back(2);
- // divisors.push_back(2);
- // for(i=4;i<=10000000;i++){
- // x = pf(i);
- // }
- // for(i=0;i<1000;i++){
- // cout<<divisors[i]<<" ";
- // }
- cout<<pf(12)<<endl;
- #ifndef ONLINE_JUDGE
- fprintf(stderr, "\n>> Runtime: %.10fs\n", (double) (clock() - tStart) / CLOCKS_PER_SEC);
- #endif
- }
Add Comment
Please, Sign In to add comment