1 #include<cstdio> 2 using namespace std; 3 bool is_prime(int x) 4 { 5 for(int i=2;i*i<=x;i++) if(x%i==0) return false; 6 return true; 7 } 8 int q,n,ans; 9 void work(int x,int y) 10 { 11 if(x==1) ans++; 12 else 13 { 14 for(int i=y;i<=x;i++) 15 if(x%i==0) 16 work(x/i,i); 17 } 18 } 19 int main() 20 { 21 scanf("%d",&q); 22 for(;q>0;q--) 23 { 24 ans=0; 25 scanf("%d",&n); 26 if(is_prime(n)) 27 { 28 printf("1 "); 29 continue; 30 } 31 for(int i=2;i<=(n>>1);i++) 32 if(n%i==0) 33 work(n/i,i); 34 printf("%d ",ans+1); 35 } 36 return 0; 37 }
ORZ SZY。