Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int maxx=1000000;
- vector<bool> isPrime(maxx+3,true);
- vector<int> primes;
- void SievePrimeNumbers()
- {
- for(int i=2 ; i*i<=maxx ; i+=2 )
- if(isPrime[i])
- {
- primes.push_back(i);
- for(int j=i*2 ; j<=maxx ; j+=i)
- isPrime[i] = false;
- }
- }
- int main()
- {
- int n;
- SievePrimeNumbers();
- while( cin>>n)
- {
- int powCnt=0;
- for(int i=0 ; i<primes.size() ; i++)
- for(int j=primes[i] ; j<=n ; j=j*primes[i] )
- powCnt+=n/j;
- printf("%d\n",powCnt);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement