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