Problem Description:

当看到GDUFE-GAME宣传海报上提到"场内人员可以在任意区域组织游戏"时,QWER按不住自己蠢蠢欲动的心,当场就出了一道题:定义QWER数为任意相邻两个素数之和加上1且是素数的数(eg: 6 = 2 + 3 + 1, 6不是素数, 所以6不是QWER数; 13 = 5 + 7 + 1, 13是素数,所以13是QWER数),给出一个数字n,10秒内求出1到n之间所有QWER数便能获得QWER的一次拥抱。作为QWER的迷弟/迷妹,你也按不住自己放在键盘上的麒麟臂,飞速得写代码,准备去收下QWER的拥抱。

Input:

数据包括多个测试实例。
每个测试实例包含一个整数 n (15 ≤ n ≤ 1000000)。

Output:

对于每个测试实例,从小到大输出 1 到 n 之间所有的QWER数(每个QWER数之间间隔一个空格)。

Sample Input:

15
20

Sample Output:

13
13 19
解题思路:先用线性筛打素数表,接下来给定范围内枚举相邻的素数和加1是否满足是素数且不超过n则保存在qwer数组中,最后输出。要用线性筛啊,不然老TLE!!!
 #include<bits/stdc++.h>
using namespace std;
#define MAXSIZE 1000000
bool isp[MAXSIZE];
int prime[MAXSIZE],qwer[MAXSIZE];//保存素数
int main()
{
int cnt=;
memset(isp,true,sizeof(isp)); //打素数表
memset(prime,,sizeof(prime));
isp[]=isp[]=false;
for(int i=;i<MAXSIZE;++i){
if(isp[i])
prime[++cnt]=i;//从下标1开始保存素数
for(int j=;j<=cnt && i*prime[j]<MAXSIZE;++j){
isp[i*prime[j]]=false;
if(i%prime[j]==)
break;
}
}
int tmp,k,n;
while(cin>>n){
tmp=k=;
for(int i=;prime[i]<=n;++i){ //从2开始枚举
tmp=prime[i-]+prime[i]+;
if(tmp>n)break;
if(isp[tmp])qwer[++k]=tmp;
}
for(int i=;i<k;++i)
cout<<qwer[i]<<' ';
cout<<qwer[k]<<endl;
}
return ;
}

最新文章

  1. IL指令详细表
  2. 细谈Slick(5)- 学习体会和将来实际应用的一些想法
  3. importSTV的使用
  4. maven-使用assembly自定义打包
  5. C#fixed关键字
  6. java Map实现的cache manager
  7. bespoke_百度百科
  8. 华为CloudIDE免费公测,带你出坑带你飞
  9. [福大软工] W班 软件产品案例分析
  10. Hybrid App 开发模式
  11. 2018-2019-2 20165303《网络攻防技术》Exp5 MSF基础应用
  12. Workspace in use or cannot be created, choose a different one.错误的解决办法
  13. java--GC Root有哪些
  14. Cocos2dx制作帧动画
  15. Oracle12c Data Guard搭建手册
  16. week07 13.3 NewsPipeline之 三News Deduper之 tf_idf 查重
  17. 利用朴素贝叶斯分类算法对搜狐新闻进行分类(python)
  18. 【转】解决weblogic启动慢和创建域慢的方法
  19. TensorFlow queue多线程读取数据
  20. Android中使用Handler以及CountDownTimer实现包括倒计时的闪屏页面

热门文章

  1. 【APUE】一个fork的面试题及字符设备、块设备的区别
  2. Zookeeper中的FastLeaderElection选举算法简述
  3. Windows——cmd findstr 字符串查找增强使用说明
  4. Android开发:怎样隐藏自己的app应用
  5. Linux程序设计(搭建开发环境--curses)
  6. Mac 使用smb协议连接FTPserver
  7. 湘潭邀请赛——Alice and Bob
  8. 关于Scrum
  9. http协议的相关知识
  10. Python函数参数传递