fork(1) download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. int size=sqrt(1e9)+1;
  5. int check[100000];
  6. int prime[100000];
  7. void sieve()
  8. {
  9. for(int i=3;i<=size;i+=2)
  10. {
  11. if(!check[i])
  12. {
  13. for(int j=i*i;j<=size;j+=i)
  14. check[j]=1;
  15. }
  16.  
  17. }
  18. prime[0] = 2;
  19. int j=1;
  20. for(int i=3;i<=size;i+=2)
  21. {
  22. if(!check[i]){
  23. prime[j++]=i;
  24. }
  25.  
  26. }
  27. }
  28.  
  29.  
  30. int main ()
  31. {
  32. ll a,b,n;
  33. cin >>a>>b>>n;
  34. sieve();
  35. int total;
  36.  
  37. ll l;
  38. ll result=0;
  39. for(ll i=a;i<=b;i++)
  40. {
  41. l=0;
  42. for(ll j=prime[l];j*j<=i;j=prime[++l])
  43. {
  44. if(i==j&&n==2)
  45. {
  46. result++;
  47. i++;
  48. break;
  49. }
  50. }
  51. ll no=i;
  52. total=1;
  53. l=0;
  54. if(no==2)
  55. total++;
  56. for(ll j=prime[l];j*j<=no;j=prime[++l])
  57. {
  58.  
  59.  
  60. while(no%j==0&& no>1)
  61. {
  62. total++;
  63. no=no/j;
  64. }
  65. if(no==1)
  66. break;
  67.  
  68. }
  69. if(no>2)
  70. {
  71. total*=2;
  72. }
  73. if(total==n)
  74. {
  75.  
  76. result++;
  77. }
  78.  
  79.  
  80. }
  81. cout <<result;
  82. return 0;
  83.  
  84. }
  85.  
Success #stdin #stdout 0s 4488KB
stdin
Standard input is empty
stdout
Standard output is empty