Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define n 100005
- bool mark[n+5]= {false};
- long long int isprime[n+5],i,j,k,l,tero[n+5];
- void sieve()
- {
- mark[0]=true;
- mark[1]=true;
- for(i=2; i*i<=n; i++)
- {
- if(mark[i]==false)
- {
- for(j=i+i; j<=n; j+=i)
- mark[j]=true;
- }
- }
- for(i=1; i<=50000; i++)
- {
- for(j=i; j<=n; j+=i)
- {
- isprime[j]++;
- }
- }
- }
- int main()
- {
- sieve();
- long long int l,h,t;
- cin>>t;
- while(t--)
- {
- k=0;
- cin>>l>>h;
- for(i=l; i<=h; i++)
- {
- if(mark[isprime[i]]==false)
- tero[k++]=i;
- }
- if(k<1)
- cout<<-1<<endl;
- else
- {
- for(i=0; i<k-1; i++)
- cout<<tero[i]<<' ';
- cout<<tero[k-1]<<endl;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement