➤ Problem Link : PRIME1
👉 Hint : edit please
✅ C++ Solution :
#include <bits/stdc++.h> using namespace std; #define MAX 100001 #define ll long long int void prime(ll m,ll n,vector<int>& v) { int arr[n-m+1]; ll i,j; for(i=0;i<n-m+1;i++) arr[i]=0; for(i=0;v[i]*(double)v[i]<=n;i++) { int curr=v[i]; ll base=(m/curr)*curr; if(base<m) base+=curr; for(j=base;j<=n;j+=curr) arr[j-m]=1; if(base==curr) arr[base-m]=0; } if(m==1) arr[0]=1; for(i=m;i<=n;i++) { if(arr[i-m]==0) cout<<i<<endl; } } int main() { int i,j; int a[MAX]; for(i=0;i<MAX;i++) a[i]=0; for(i=2;i*i<MAX;i++) { if(a[i]==0) { for(j=i*i;j<MAX;j+=i) a[j]=1; } } vector<int>v; v.push_back(2); for(i=3;i<MAX;i+=2) { if(a[i]==0) v.push_back(i); } int t; cin>>t; while(t--) { ll m,n; cin>>m>>n; prime(m,n,v); cout<<endl; } return 0; }
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!