Advertisement
Guest User

SwitchCase: GCJ 2011 Round 2 C Expensive Dinner

a guest
Jan 9th, 2013
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.81 KB | None | 0 0
  1. // <-------------------[sWitCHcAsE]---------------------->
  2. #include<cstdio>
  3. #include<iostream>
  4. #include<algorithm>
  5. #include<cstdlib>
  6. #include<cmath>
  7. #include<cassert>
  8. #include<vector>
  9. #include<map>
  10. #include<cstring>
  11. #include<cassert>
  12. #include<queue>
  13.  
  14. #define FOR(i,n) for(int i=0;i<n;i++)
  15. #define FORS(i,a,n) for(i=a;i<n;i++)
  16. #define ERR(x) cerr<<#x<<" "<<x<<endl
  17. #define pb push_back
  18. using namespace std;
  19. typedef vector<int> VI;
  20. typedef long long ll;
  21. typedef long double ld;
  22.  
  23. int primes[]={2,3,5,7, 11, 13, 17, 19, 23, 29 , 31,37, 41, 43, 47, 53, 59, 61, 67, 71 , 73, 79, 83, 89, 97,101,103,107,109,113 ,127,131,137,139,149,151,157,163,167,173 ,179,181,191,193,197,199,211,223,227,229 ,233,239,
  24. 241,251,257,263,269,271,277,281 ,283,293,307,311,313,317,331,337,347,349 ,353,359,367,373,379,383,389,397,401,409 ,
  25. 419,421,431,433,439,443,449,457,461,463 ,467,479,487,491,499,503,509,521,523,541 ,547,557,563,569,571,577,587,593,
  26. 599,601 ,607,613,617,619,631,641,643,647,653,659 ,661,673,677,683,691,701,709,719,727,733 ,739,743,751,757,761,769,
  27. 773,787,797,809 ,811,821,823,827,829,839,853,857,859,863 ,877,881,883,887,907,911,919,929,937,941 ,947,953,967,971,977,983,991,997};
  28.  
  29. int gcd(int a,int b) {
  30.     if(b==0)return a;
  31.     else return gcd(b,a%b);
  32. }
  33. int main(int argc,char** args)
  34. {
  35.  
  36.     int N,T;
  37.     int n=sizeof(primes)/4;
  38.     //cerr<<"SIZE IS "<<n<<endl;
  39.     scanf("%d",&T);
  40.     FOR(kase,T) {
  41.         cout<<"Case #"<<kase+1<<": ";
  42.         scanf("%d",&N);
  43.         if(N==1) {
  44.             cout<<"0\n";
  45.             continue;
  46.         }
  47.         int large=1;
  48.         int small=0;
  49.         ll curr=1;
  50.         int g;
  51.         int ans=1;
  52.         FOR(i,n) {
  53.             if(N>=primes[i]) {
  54.                 int lg=log(N)/(log(primes[i]));
  55.                 ans+=(lg-1);
  56.             }
  57.         }
  58.        
  59.         //cerr<<"LARGE "<<large<<endl;
  60.  
  61.         FOR(i,n) {
  62.             if(N>=primes[i]) {
  63.                 small++;
  64.             }
  65.            
  66.         }
  67.         cout<<ans<<endl;
  68.     }
  69.    
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement