POJ 1595 Prime Cuts (ZOJ 1312) 素数打表

2014-11-24 08:40:41 · 作者: · 浏览: 0

ZOJ:http://acm.zju.edu.cn/onlinejudge/showProblem.do problemId=312

POJ: http://poj.org/problem id=1595

题目大意:

给你两个数n和c,如果1~n(包括1和n)之间的素数个数为偶数个,则输出中间c*2个素数否则输出中间c*2-1个素数。

思路:

呀呀呀,玩了一天了,A道水题洗洗睡吧。

直接筛选素数打表。

注意c比1~n的个数大的情况要把1~n中所以素数输出。

OK,然后这题1也算素数。。


#include
  
   
const int MAXN=1024;
bool isprime[MAXN]={0};
int cnt[MAXN]={0};
int prime[MAXN],len;
int main()
{
	for(int i=2;i*i
   
     cnt[n]) //WA在这,题目说的如果超过个数那就输出1~n { for(int i=0;i
    
      a=(cnt[n]+1)/2-c { int a=(cnt[n]+1)/2-c; int len=2*c-1; for(int i=0;i
     
       a=(cnt[n])/2-c { int a=(cnt[n])/2-c; int len=2*c; for(int i=0;i