Saleh127

LO 1028

Jul 25th, 2020
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define test int t; cin>>t; while (t--)
  4. #define ll long long int
  5. #define fellow_junior ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  6. #define maX 1000008
  7. bool marked[maX];
  8. vector<ll>p;
  9. void sieve()
  10. {
  11. marked[0]=1;
  12. marked[1]=1;
  13. for(ll i=4;i<=maX;i+=2)
  14. {
  15. marked[i]=1;
  16. }
  17. p.push_back(2);
  18. for(ll i=3;i<=maX;i+=2)
  19. {
  20. if(marked[i]==0)
  21. {
  22. p.push_back(i);
  23. for(ll j=i*i; j<=maX; j+=i+i)
  24. {
  25. marked[j]=1;
  26. }
  27. }
  28. }
  29. }
  30. ll fact(ll x)
  31. {
  32. ll i,cnt=0,ans=1;
  33. for(i=0;i<p.size() && p[i]*p[i]<=x;i++)
  34. {
  35. cnt=0;
  36. if(x%p[i]==0)
  37. {
  38. while(x%p[i]==0)
  39. {
  40. cnt++;
  41. x/=p[i];
  42. if(x==0 || x==1)
  43. {
  44. break;
  45. }
  46. }
  47. ans*=(cnt+1);
  48.  
  49. }
  50. }
  51. if(x>1)
  52. {
  53. ans*=2;
  54. }
  55. return ans;
  56. }
  57. int main()
  58. {
  59. fellow_junior
  60. sieve();
  61. ll t,a,c,d,i,j,k,l;
  62. cin>>t;
  63. for(i=1;i<=t;i++)
  64. {
  65. cin>>a;
  66. printf("Case %lld: %lld\n",i,fact(a)-1);
  67. }
  68. return 0;
  69. }
  70.  
Advertisement
Add Comment
Please, Sign In to add comment