Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ID: shafaet1
- PROG:
- LANG: C++
- */
- #include<cstdio>
- #include<cstring>
- #include<cstdlib>
- #include<cctype>
- #include<cmath>
- #include<iostream>
- #include<utility>
- #include<fstream>
- #include<numeric>
- #include<string>
- #include<vector>
- #include<queue>
- #include<map>
- #include<algorithm>
- #include<set>
- #include<sstream>
- #include<stack>
- #include<list>
- #include<iterator>
- #include <bitset>
- using namespace std;
- #define REP(i,n) for(__typeof(n) i=0; i<(n); i++)
- #define FOR(i,a,b) for(__typeof(b) i=(a); i<=(b); i++)
- #define CLEAR(t) memset((t), 0, sizeof(t))
- typedef long long i64;
- typedef long double d64;
- #define READ(f) freopen(f, "r", stdin)
- #define WRITE(f) freopen(f, "w", stdout)
- #define PI 3.1415926535897932384626433832
- #define INF (1<<30)
- #define eps 1e-8
- #define pb push_back
- #define ppb pop_back
- template< class T > T _abs(T n) { return (n < 0 ? -n : n); }
- template< class T > T sq(T n) { return n*n; }
- template< class T > T _max(T a, T b) { return (!(a < b) ? a : b); }
- template< class T > T _min(T a, T b) { return (a < b ? a : b); }
- template< class T > T gcd(T a, T b) { return (b != 0 ? gcd<T>(b, a%b) : a); }
- template< class T > T lcm(T a, T b) { return (a / gcd<T>(a, b) * b); }
- template< class T > bool inside(T a, T b, T c) { return a<=b && b<=c; }
- template< class T > void setmax(T &a, T b) { if(a < b) a = b; }
- template< class T > void setmin(T &a, T b) { if(b < a) a = b; }
- template<class T> T power(T N,T P){ return (P==1)? N: N*power(N,P-1); }
- #define MAX 1000010
- int N = MAX, status[MAX+10],prime[109901];
- int main()
- {
- int i, j;
- for( i = 3; i*i <= N; i += 2 )
- if( status[i] == 0 )
- {
- for( j = i*i; j <= N; j += 2*i )
- {
- status[j] = 1;
- }
- }
- prime[0]=2;
- for( i = 3,j=1; i <= N; i += 2 )
- if( status[i] == 0 )
- prime[j++]=i;
- int SQ,kas=0,T;
- long long INP;
- scanf("%d",&T);
- while(T--)
- {
- scanf("%lld",&INP);
- SQ=sqrt(INP);
- int prod=1;
- for(i=0;prime[i]<=SQ;i++)
- {
- if(INP%prime[i]==0)
- {
- int sum=0;
- while(INP%prime[i]==0)
- {
- INP=INP/prime[i];
- //printf("%d ",prime[i]);
- sum++;
- }
- prod*=(sum+1);
- SQ=sqrt(INP);
- }
- }
- //puts("");
- if(INP>1)
- prod*=2;
- printf("Case %d: %d\n",++kas,prod-1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement