fork download
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4. int ans[2000005];
  5. bool status[20000005];
  6. bool vis[20000005];
  7.  
  8. int main(){
  9. int t;
  10. scanf("%d",&t);
  11. while(t--){
  12. memset(status,0,sizeof status);
  13. memset(vis,0,sizeof vis);
  14. long long l,r;
  15. scanf("%lld %lld",&l,&r);
  16. //cout<<l<<endl;
  17.  
  18. int pm=0;
  19. //long long p=ceil((int)sqrt(r));
  20. for(long long i=2;i*i<=r;i++){
  21. if(!status[i]){
  22. ans[pm]=i;
  23. pm++;
  24. for(long long k=2*i;k<=10000000;k+=i)
  25. status[k]=1;
  26. }
  27. }
  28.  
  29. for(int k=0;k<pm;k++){
  30. long long st=ceil(l/ans[k]);
  31. if(st==0) st+=2;
  32. if(st==1) st++;
  33. for(long long j=st*ans[k];j<=r;j+=ans[k])
  34. {
  35. vis[j-l]=1;
  36. }
  37. }
  38.  
  39. for(long long i=l;i<=r;i++){
  40. if(!vis[i-l])
  41. printf("%lld\n",i);
  42. }
  43.  
  44. }
  45. return 0;
  46. }
  47.  
Runtime error #stdin #stdout 0.07s 62936KB
stdin
3
999900000 1000000000
1 32000
150571 150600
stdout
Standard output is empty