📄 1319 prime cuts.cpp
字号:
/*
1319 Prime Cuts
Time Limit : 1000 ms Memory Limit : 32768 K Output Limit : 256 K
GUN C++
*/
#include <iostream>
using namespace std;
const int Max=1000;
int filterPrime(int savenum[],int n)
{
int ca,temp,now;
int num[Max]={0};
for(ca=2;ca<=n;ca++)
{
if(num[ca]==0)
{
temp=ca+ca;
while(temp<=n)
{ num[temp]=1;temp+=ca;}
}
}
for(ca=1,now=0;ca<=n;ca++)
if(num[ca]==0)
{ savenum[now]=ca;now++;}
return now-1;
}
int Print(int s,int e,int prime[])
{
int ca;
for(ca=s;ca<e;ca++)
{
cout<<" "<<prime[ca]<<flush;
}
cout<<endl<<endl;
return 0;
}
int main()
{
int c,n,ca,size,nceil;
int prime[200]={0};
size=filterPrime(prime,Max);
prime[size+1]=-1;//设定上限
while(cin>>n>>c)
{
cout<<n<<" "<<c<<":";
nceil=0;
while(prime[nceil]<=n && prime[nceil]>0)//注意当数据为1000时没法比较比他大的了
{ nceil++;}
if(nceil%2==0)
{
//ca=nceil/2-c; outlen=2*c;
if(2*c>=nceil)
Print(0,nceil,prime);
else
Print(nceil/2-c,nceil/2-c+2*c,prime);
}
else
{
//ca=nceil/2-c+1; outlen=2*c-1;
if(2*c-1>=nceil)
Print(0,nceil,prime);
else
Print(nceil/2-c+1,nceil/2-c+1+2*c-1,prime);
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -