fork(1) download
  1. #include <stdio.h>
  2. #define T 3400
  3. #define Z 31622
  4. #define M 100001"%d", &t);
  5. for(i = 0; i < t; i++)
  6. {
  7. scanf("%d %d", &m,&n);
  8. if(m==1)m==2;
  9. if(m<Z)
  10. {
  11. if(n>Z)
  12. {
  13. a=m;
  14. m=Z;
  15. A=0;
  16. B=T-1;
  17. while(a>primes[A] && a<primes[B] && B-A>1)
  18. if(a>primes[(A+B)/2])A=(A+B)/2;
  19. else B=(A+B)/2;
  20.  
  21. if(a<=primes[A])S=A;
  22. else S=B;
  23.  
  24. for(j=S;j<T;j++)
  25. printf("%d\n", primes[j]);
  26. }
  27. else
  28. {
  29. a=m;
  30. b=n;
  31. A=0;
  32. B=T-1;
  33.  
  34. while(a>primes[A] && a<primes[B] && B-A>1)
  35. if(a>primes[(A+B)/2])A=(A+B)/2;
  36. else B=(A+B)/2;
  37.  
  38. if(a<=primes[A])S=A;
  39. else S=B;
  40.  
  41. A=S;
  42. B=T-1;
  43.  
  44. while(b>primes[A] && b<primes[B] && B-A>1)
  45. if(b>primes[(A+B)/2])A=(A+B)/2;
  46. else B=(A+B)/2;
  47.  
  48. if(b>=primes[B])SS=B;
  49. else SS=A;
  50.  
  51. for(j=S;j<=SS;j++)
  52. printf("%d\n", primes[j]);
  53. }
  54. }
  55.  
  56. if(n>Z)
  57. {
  58. K = n-m+1;
  59. for( j = 0;j<K;j++)
  60. tab[j]=1;
  61.  
  62.  
  63. if(m%2==0)m+=1;
  64. for( j = m; j<=n; j+=2)
  65. {
  66. if(tab[j-m])
  67. {
  68. k=0;
  69. while(j%primes[k]!=0 && k < T)k++;
  70. if(k==T)printf("%d\n", j);
  71. else
  72. {
  73. h=j-m;
  74. while(h<K)
  75. {
  76. tab[h]=0;
  77. h+=primes[k];
  78. }
  79. }
  80. }
  81. }
  82. }
  83.  
  84.  
  85. }
  86.  
  87. return 0;
  88. }
Success #stdin #stdout 0.01s 2012KB
stdin
Standard input is empty
stdout
Standard output is empty