ACM_数数?诶?这么简单?
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 ;
}
ACM_数数?诶?这么简单?的更多相关文章
- ACM_数数有多少(第二类Stirling数-递推dp)
数数有多少 Time Limit: 2000/1000ms (Java/Others) Problem Description: 小财最近新开了一家公司,招了n个员工,但是因为资金问题,办公楼只有m间 ...
- 「SDOI2014」数数 解题报告
「SDOI2014」数数 题目描述 我们称一个正整数 \(N\) 是幸运数,当且仅当它的十进制表示中不包含数字串集合 \(S\) 中任意一个元素作为其子串. 例如当 \(S=(\)22, 333, 0 ...
- CF1109DSasha and Interesting Fact from Graph Theory(数数)
题面 传送门 前置芝士 Prufer codes与Generalized Cayley's Formula 题解 不行了脑子已经咕咕了连这么简单的数数题都不会了-- 首先这两个特殊点到底是啥并没有影响 ...
- [COGS 2065]学数数
2065. 学数数 ★★★☆ 输入文件:jxthree.in 输出文件:jxthree.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] 从前有一只咩,还有一只叽 ...
- NOIP模拟测试29「爬山·学数数·七十和十七」
爬山题解不想写了 学数数 离散化然后找到以每一个值为最大值的连续子段有多少个,然后开个桶维护 那么怎么找以每一个值为最大值的连续子段个数 方法1(我的极笨的方法) 考试时我的丑陋思路, 定义极左值为左 ...
- 8.23考试总结(NOIP模拟46)[数数·数树·鼠树·ckw的树]
T1 数数 解题思路 大概是一个签到题的感觉...(但是 pyt 并没有签上) 第一题当然可以找规律,但是咱们还是老老实实搞正解吧... 先从小到大拍个序,这样可以保证 \(a_l<a_r\) ...
- 【BZOJ】【3530】【SDOI2014】数数
AC自动机/数位DP orz zyf 好题啊= =同时加深了我对AC自动机(这个应该可以叫Trie图了吧……出边补全!)和数位DP的理解……不过不能自己写出来还真是弱…… /************* ...
- BZOJ3530: [Sdoi2014]数数
3530: [Sdoi2014]数数 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 322 Solved: 188[Submit][Status] ...
- 【HDU3530】 [Sdoi2014]数数 (AC自动机+数位DP)
3530: [Sdoi2014]数数 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 682 Solved: 364 Description 我们称一 ...
- COJ 0036 数数happy有多少个?
数数happy有多少个? 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 图图是个爱动脑子.观察能力很强的好学生.近期他正学英语 ...
随机推荐
- Python遍历路径下文件并转换成UTF-8编码
http://www.cnblogs.com/wuyuegb2312/archive/2013/01/11/2856772.html 开始学Python,这篇文章来自于应用需求. os.walk很方便 ...
- Deepin-添加path
以管理员权限添加path(Debian系列) sudo gedit /etc/profile 添加path路径格式是: export PATH=”$PATH:your path1:your path2 ...
- Python第五讲
一.冒泡算法 1.将两个变量的值互换 a1 = 123 a2 = 456 #要想将a1与a2的值进行位置互换需要借助一个中间变量(temp) temp = a1#将a1的值赋值给temp(temp=1 ...
- JavaSE----API之集合(Collection、List及其子类、Set及其子类、JDK1.5新特性)
5.集合类 集合类的由来: 对象用于封装特有数据,对象多了须要存储:假设对象的个数不确定.就使用集合容器进行存储. 集合容器由于内部的数据结构不同,有多种详细容器.不断的向上抽取,就形成了集合框架. ...
- Android——SlidingMenu学习总结
来源 SlidingMenu是github上比較火开源库.很强大,不但但是简单的设置实现两側滑动菜单,还能够设置菜单的阴影.渐变色.划动模式等. 下载地址:https://github.com/jfe ...
- Saltstack运行cmd.run重新启动tomcat后出现日志乱码(15)
Saltstack使用的cmd.run调用的是核心模块cmdmod.py,以下我们来看一下cmdmod.py模块的源代码: cat /usr/lib/python2.6/site-packages/s ...
- Unity5.1 新的网络引擎UNET(八) UNET 系统概括
孙广东 2015.7.12 Server and Host 在Unity 的 网络系统,游戏有 一个server和多个client. 当没有专用的server时,client之中的一个扮演s ...
- C语言的结构体和 C++结构体的区别
C语言的结构体和 C++结构体的区别 关于C++中声明结构体中需要使用构造器创建实例对象的语法: <C++的结构体构造方法的基本概念:结构体的构造方法需要和结构体的名字相同,并且无返回值,也不 ...
- encodeURIComponent
<script type="text/javascript"> function show(){ var f="#wer中文测试"; f = enc ...
- 改进Source Insight对汉字的支持
转自:http://blog.chinaunix.net/u/8681/showart_1356633.html http://blog.163.com/zhuzhihuacan@126/blog/s ...