Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.33 KB | None | 0 0
  1. /*
  2. ID: shafaet1
  3. PROG:
  4. LANG: C++
  5. */
  6. #include<cstdio>
  7. #include<cstring>
  8. #include<cstdlib>
  9. #include<cctype>
  10. #include<cmath>
  11. #include<iostream>
  12. #include<utility>
  13. #include<fstream>
  14. #include<numeric>
  15. #include<string>
  16. #include<vector>
  17. #include<queue>
  18. #include<map>
  19. #include<algorithm>
  20. #include<set>
  21. #include<sstream>
  22. #include<stack>
  23. #include<list>
  24. #include<iterator>
  25. #include <bitset>
  26. using namespace std;
  27.  
  28. #define REP(i,n) for(__typeof(n) i=0; i<(n); i++)
  29. #define FOR(i,a,b) for(__typeof(b) i=(a); i<=(b); i++)
  30. #define CLEAR(t) memset((t), 0, sizeof(t))
  31. typedef long long i64;
  32. typedef long double d64;
  33. #define READ(f) freopen(f, "r", stdin)
  34. #define WRITE(f) freopen(f, "w", stdout)
  35. #define PI 3.1415926535897932384626433832
  36. #define INF (1<<30)
  37. #define eps 1e-8
  38. #define pb push_back
  39. #define ppb pop_back
  40. template< class T > T _abs(T n) { return (n < 0 ? -n : n); }
  41. template< class T > T sq(T n) { return n*n; }
  42. template< class T > T _max(T a, T b) { return (!(a < b) ? a : b); }
  43. template< class T > T _min(T a, T b) { return (a < b ? a : b); }
  44. template< class T > T gcd(T a, T b) { return (b != 0 ? gcd<T>(b, a%b) : a); }
  45. template< class T > T lcm(T a, T b) { return (a / gcd<T>(a, b) * b); }
  46. template< class T > bool inside(T a, T b, T c) { return a<=b && b<=c; }
  47. template< class T > void setmax(T &a, T b) { if(a < b) a = b; }
  48. template< class T > void setmin(T &a, T b) { if(b < a) a = b; }
  49. template<class T> T power(T N,T P){  return (P==1)?  N: N*power(N,P-1); }
  50. #define MAX 1000010
  51. int N = MAX, status[MAX+10],prime[109901];
  52. int main()
  53. {
  54.   int i, j;
  55.  
  56.  
  57.   for( i = 3; i*i <= N; i += 2 )
  58.     if( status[i] == 0 )
  59.     {
  60.       for( j = i*i; j <= N; j += 2*i )
  61.       {
  62.         status[j] = 1;
  63.        }
  64.        
  65.    }
  66.    
  67.    
  68.  prime[0]=2;
  69.   for( i = 3,j=1; i <= N; i += 2 )
  70.     if( status[i] == 0 )
  71.         prime[j++]=i;
  72.    
  73.    
  74.    
  75.     int SQ,kas=0,T;
  76.     long long INP;
  77.     scanf("%d",&T);
  78.   while(T--)
  79.   {
  80.       scanf("%lld",&INP);
  81.     SQ=sqrt(INP);
  82.     int prod=1;
  83.     for(i=0;prime[i]<=SQ;i++)
  84.     {
  85.        
  86.         if(INP%prime[i]==0)
  87.         {
  88.             int sum=0;
  89.                 while(INP%prime[i]==0)
  90.                 {
  91.                     INP=INP/prime[i];
  92.                     //printf("%d  ",prime[i]);
  93.                     sum++;
  94.                 }
  95.                 prod*=(sum+1);
  96.                 SQ=sqrt(INP);
  97.            
  98.         }
  99.     }
  100.     //puts("");
  101.     if(INP>1)
  102.     prod*=2;
  103.  
  104.     printf("Case %d: %d\n",++kas,prod-1);
  105.     }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement