1 #include2 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 else13 {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\n");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\n",ans+1);35 }36 return 0;37 }
ORZ SZY。