Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<iostream>
- #include<bits/stdc++.h>
- using namespace std;
- #define M 1010
- bool mark[M];
- vector<int>prime;
- void primegen()
- {
- int i,j;
- mark[1]=false;
- mark[2]=false;
- prime.push_back(1);
- prime.push_back(2);
- for(i=3;i<=1001;i+=2)
- {
- if(mark[i]==false)
- {
- prime.push_back(i);
- }
- for(j=i*i;j<=1001;j+=2*i)
- {
- mark[j]=true;
- }
- }
- }
- void myfunc(int n,int c)
- {
- vector<int>v;
- int i;
- for(i=0;prime[i]<=n;i++)
- {
- v.push_back(prime[i]);
- }
- //aaaa
- if(n==c)
- {
- printf("%d %d: ",n,c);
- for(i=0;i<v.size();i++)
- printf("%d ",prime[i]);
- cout<<endl;
- return ;
- }
- else if(v.size()%2==0)
- {
- int count=0;
- printf("%d %d: ",n,c);
- for(i=(v.size()/2-c)+1; ;i++)
- {
- printf("%d ",prime[i-1]);
- count++;
- if(count==2*c)
- {
- printf("\n");
- break;
- }
- }
- }
- else
- {
- int count=0;
- printf("%d %d: ",n,c);
- for(i=v.size()/2-c+1; ;i++)
- {
- printf("%d ",prime[i]);
- count++;
- if(count==2*c-1)
- {
- cout<<endl;
- break;
- }
- }
- }
- }
- int main()
- {
- int n,c;
- primegen();
- while(scanf("%d %d",&n,&c) && n!=EOF)
- {
- myfunc(n,c);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment