sznoi b003

这题坑了我,原因是题目数据问题1000000告诉我100 OTL

附代码

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5
 6 bool prime[1100000] = {0};
 7
 8 void getlist(int maxint) {
 9     prime[1] = 1;
10     for(int i = 2 ; i <= maxint/2 ; ++i) {
11         if(!prime[i])
12             for(int j = i<<1 ; j <= maxint ; j += i)
13                 prime[j] = 1;
14     }
15 }
16
17 int main() {
18     ios::sync_with_stdio(false);
19     int n;
20     cin >> n;
21     getlist(n);
22     int total = 0;
23     for(int i = 3 ; i <= n ; ++i) {
24         if(!prime[i] && !prime[i-2])
25             ++total;
26         if(!prime[i] && !prime[i-1])
27             ++total;
28     }
29     cout << total << endl;
30     return 0;
31 }
时间: 2024-08-01 03:54:04

sznoi b003的相关文章

SzNOI之d100题解题报名,日历问题

SzNOI之d100题解题报名,日历问题 d100: 神仙?妖怪?谢谢! 这题的题目有点古怪.解题过程,且慢慢道来. 搞懂这题,算日历,周几等问题,基本都搞清了. 一.几年有几天 二.到今天有几天 三.打印日历 一.几年有几天 从公元一年,到公元n年,共有几天? 这问题似乎相当简单,因为一年有365嘛.比如公元一年,到公元二年,这样算: var y,day:longint; begin y:=2; // 10 day:=y*365; writeln(day); end. 算下来,似乎一点错误也木

SzNOI c002 约瑟夫循环

这题题目没怎么弄清,不知道循环旋转的时候从哪开始,也就不想了,写个简答的约瑟夫循环 #include<iostream> using namespace std ; struct LinkNode { LinkNode *link ; int data ; } ;//dingyi void CreatList (LinkNode *first,int number) { // LinkNode *first ;*first ; LinkNode *current = first ; // in

SzNOI c016 : 寻找第K大数

这题想的跟题目要求不同导致不断的NA,在题目看来,相同大小的数字的排序也是不一样的,例如100 99 99 99 这四个数字,100是第一,99分别是第二第三第四,我的思路是99三个是重复应该并排第二,只能说坑了点.. 最近刷题都是随机做,随便点开一题做,没按顺序了 原题如下: [问题描述] N个小朋友在一起做游戏. 每个小朋友在自己的硬纸板上写一个数,然后同时举起来. 接着,小y老师提一个问题,看哪个小朋友先抢答出来. 问题是:在这N个数中,第K大的是哪个数?请你编程完成.   [输入格式]

SzNOI语法百题之总目录

1  d001 问候2  d002 加法3  d003 计算矩形的周长和面积4  d004 求两数中的较大者5  d005 求圆的周长 和 面积6  d006 交换两数值 7  d007 求两数的整数商 和 余数8  d008 求两数的整数商 和 商 9  d009 求梯形的面积10  d010 分离自然数

SzNOI 数据结构 c015:缓慢的网速

这道题看着很简单,但是题目的测试量有点大,容易超时,不能使用暴力破解 而且我个人觉得这题目四舍五入的数据怪怪的,NA好多次,最后四舍五入的数据用3以后能用了 原题如下: 内容: 放暑假了,小明想上网下载一些电影看,但是缓慢的网速令他无法忍受.他了解到了接下来的N个小时中的网速情况,想找一段连续的M个小时来下载电影,并且希望这M个小时的平均网速尽可能的大,你能编一个程序帮助他实现愿望吗? 输入输入文件第一行包含两个整数N.M,1<=M<=N<=1000000:第二行包含N个整数,表示第N个

模拟队列 数据结构 SzNOI c004

昨天苏州oj爆掉了,就没发,今天补上,利用的是循环队列来做的 内容: [问题描述] 请设计一个程序模拟队列,具备初始队列.入队.出队.输出队列数据的功能. [输入] 输入由若干行组成,每行表示一种操作.每行由一个或两个整数组成,其中第一个整数代表操作的类型:1表示初始队列操作,2表示入队操作,3表示出队操作.4表示输出队列信息,第二个整数表示操作所涉及的数据. 初始队列操作:将队列置为空并重新设置队列容量.该行第二个整数设为队列的容量. 入队操作:将该行第二个整数入队,如队列中元素个数超过队列容

6月16日 TP框架数据库的查询及添加

MainController.class.php: function ShowAll() { //model:数据库中每张表对应一个模型 //类名是表名,类里面的成员变量是列名 //把一张表对应为一个类,其中一条数据对应一个对象 //如果我们对该表的模型没有特殊操作,可以不用建立该模型 //查询Info表 //1.实例化Model /*$info = new \Home\Model\InfoModel; var_dump($info);*/ //2.D方法 /*$info = D("Info&q

JavaWeb之Mysql代码练习(十二)

图书馆借书信息库结构 use day14; DROP TABLE student; DROP TABLE book; DROP TABLE borrow; -- 1. 创建学生表信息 CREATE TABLE student( stuID CHAR(10) PRIMARY KEY, stuName VARCHAR(10), major VARCHAR(50) ); CREATE TABLE book( BID CHAR(10) PRIMARY KEY, title CHAR(50), autho

SQL数据库的查询方法

简单查询: 一.投影 select * from 表名 select 列1,列2... from 表名 select distinct 列名 from 表名 二.筛选 select top 数字 列|* from 表名 (一)等值与不等值 select * from 表名 where 列名=值 select * from 表名 where 列名!=值 select * from 表名 where 列名>值 select * from 表名 where 列名<值 select * from 表名