Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define max_num 1000007
- using namespace std;
- int marking[1000007+5];
- vector<int> storage;
- void prime_number(){
- for(int i=2;i<=max_num;i++){
- if(marking[i]==0){
- for(int j=i+i;j<=max_num;j=j+i){
- marking[j]=1;
- }
- }
- }
- for(int i=2;i<=max_num;i++){
- if(marking[i]==0){
- storage.push_back(i);
- }
- }
- sort(storage.begin(),storage.end());
- }
- int main()
- {
- prime_number();
- int test_case,case_no=0;
- scanf("%d",&test_case);
- while(test_case--){
- long long number; cin>>number;
- int counting,total=1;
- for(int i=0;i<storage.size() and storage[i]<=sqrt(number);i++){
- counting=0;
- if(number<storage[i]) break;
- while(number%storage[i]==0){
- number=number/storage[i];
- counting++;
- }
- total=total*(counting+1);
- }
- if(number>1) total=total*2;
- printf("Case %d: %d\n",++case_no,total-1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement