#include<iostream>
using namespace std;
int prime[1000];
int findPrime(int n){
int primeSum=0;
for(int i=1;i<=n;i++){
bool isPrimeFlag=true;
for(int j=2;j<i;j++){
if(1.0*i/j==i/j){
isPrimeFlag=false;
break;
}
}
if(isPrimeFlag){
prime[primeSum]=i;
//cout<<i<<endl;
primeSum++;
}
}
return primeSum;
}
int main(int argc, char *argv[]){
int n,cnt;
while(cin>>n>>cnt){
int _cnt=cnt;
int primeNum=findPrime(n);
//even
if(primeNum%2==0){
if(cnt*2>primeNum){
cnt=primeNum/2;
}
cout<<n<<" "<<_cnt<<":";
int index=primeNum/2-cnt;
for(int i=0;i<cnt*2;i++){
cout<<" "<<prime[index];
index++;
}
cout<<"\n"<<endl;
}else{
if(cnt*2-1>primeNum){
cnt=(primeNum+1)/2;
}
cout<<n<<" "<<_cnt<<":";
int index=(primeNum+1)/2-cnt;
for(int i=0;i<cnt*2-1;i++){
cout<<" "<<prime[index];
index++;
}
cout<<"\n"<<endl;
}
}
return 0;
}
POJ-1595
最新推荐文章于 2017-07-25 16:11:25 发布