fork download
  1. import java.util.*;
  2. import java.lang.*;
  3.  
  4. public class Main
  5. {
  6. static int max=1000001;
  7. static int sz=21;
  8. static int[][]sum=new int[sz][max];
  9. static int []phi=new int[max];
  10. static int []depth=new int[max];
  11. public static void init()
  12. {
  13. depth[1]=0;
  14. depth[2]=1;
  15. for(int i=3;i<max;i++)
  16. {
  17. depth[i]=depth[phi[i]]+1;
  18. }
  19. for(int i=0;i<sz;i++)
  20. {
  21. for(int j=0;j<max;j++)
  22. sum[i][j]=0;
  23. }
  24. for(int i = 1; i < max; i ++)
  25. if(depth[i] < sz)
  26. sum[depth[i]][i] ++;
  27. for(int i = 0; i < sz; i ++)
  28. for(int j = 1; j < max; j ++)
  29. sum[i][j] += sum[i][j - 1];
  30. }
  31. public static void initi(int m)
  32. {
  33. for(int i=1;i<=m;i++)
  34. {
  35. phi[i]=i;
  36. }
  37. for(int i=2;i<=m;i++)
  38. {
  39. if(phi[i]==i)
  40. {
  41. for(int j=i;j<=m;j=j+i)
  42. {
  43. phi[j]=phi[j]/i;
  44. phi[j]*=(i-1);
  45. }
  46. }
  47. }
  48. }
  49.  
  50. public static void main (String[] args) throws java.lang.Exception
  51. {
  52. Scanner s=new Scanner(System.in);
  53. initi(1000000);
  54. init();
  55.  
  56. int t=s.nextInt();
  57. while(t-->0)
  58. {
  59. int m=s.nextInt();
  60. int n=s.nextInt();
  61. int k=s.nextInt();
  62. int c=0;
  63.  
  64. System.out.println((sum[k][n] - sum[k][m - 1]));
  65. }
  66. }
  67. }
  68.  
Runtime error #stdin #stdout #stderr 0.25s 164368KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Exception in thread "main" java.util.NoSuchElementException
	at java.base/java.util.Scanner.throwFor(Scanner.java:937)
	at java.base/java.util.Scanner.next(Scanner.java:1594)
	at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
	at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
	at Main.main(Main.java:56)