NYOJ26 孪生素数问题

离线算出规定范围内的所有结构,不算太难,主要是注意效率,用筛法来做。

孪生素数问题

时间限制:3000 ms  |  内存限制:65535 KB

难度:3

  • 描述
  • 写一个程序,找出给出素数范围内的所有孪生素数的组数。一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻素数。有些童鞋一看到题就开始写程序,不仔细看题,咱们为了遏制一下读题不认真仔细的童鞋,规定,两个素数相邻为1的也成为孪生素数。
    • 输入
    • 第一行给出N(0<N<100)表示测试数据组数。
      接下来组测试数据给出m,表示找出m之前的所有孪生素数。
      (0<m<1000000)
    • 输出
    • 每组测试数据输出占一行,该行为m范围内所有孪生素数组数。
    • 样例输入
    • 1
      14
    • 样例输出
    • 4
#include <iostream>
#include <cstring>
#include <cmath>

using namespace std;

int a[1000000];

void isPrime(int number)
{
	int i,j;
	for(i=1;i<=number;i++)
		if(i%2)
			a[i]=1;

	for(i=3;i<=sqrt(number);i+=2)
		if(a[i])
		{
			for(j=i*2;j<=number;j+=i)
				a[j]=0;
		}
}

int main()
{
	int n,m,i,count;
	cin>>n;
	while(n--)
	{
		cin>>m;
		memset(a,0,sizeof(a));
		count=0;
		isPrime(m);
		for(i=2;i<=m-2;i++)
			if(a[i] && a[i+2])	//判断是否为素数
				count++;
		if(m>=3)
			count++;

		cout<<count<<endl;
	}
	return 0;
}
时间: 2024-10-13 10:35:07

NYOJ26 孪生素数问题的相关文章

NYOJ 孪生素数问题

孪生素数问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 写一个程序,找出给出素数范围内的所有孪生素数的组数.一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻素数.有些童鞋一看到题就开始写程序,不仔细看题,咱们为了遏制一下读题不认真仔细的童鞋,规定,两个素数相邻为1的也成为孪生素数. 输入 第一行给出N(0<N<100)表示测试数据组数. 接下来组测试数据给出m,表示找出m之前的所有孪生素数. (0<m<1000000) 输出 每组测试

NYOJ 26 孪生素数问题

孪生素数问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 写一个程序,找出给出素数范围内的所有孪生素数的组数.一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻素数.有些童鞋一看到题就开始写程序,不仔细看题,咱们为了遏制一下读题不认真仔细的童鞋,规定,两个素数相邻为1的也成为孪生素数. 输入 第一行给出N(0<N<100)表示测试数据组数. 接下来组测试数据给出m,表示找出m之前的所有孪生素数. (0<m<1000000) 输出 每组测试

【ACM】孪生素数问题

孪生素数问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 写一个程序,找出给出素数范围内的所有孪生素数的组数.一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻素数.有些童鞋一看到题就开始写程序,不仔细看题,咱们为了遏制一下读题不认真仔细的童鞋,规定,两个素数相邻为1的也成为孪生素数. 输入 第一行给出N(0<N<100)表示测试数据组数.接下来组测试数据给出m,表示找出m之前的所有孪生素数.(0<m<1000000) 输出 每组测试数据

孪生素数问题

描述 写一个程序,找出给出素数范围内的所有孪生素数的组数.一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻素数.有些童鞋一看到题就开始写程序,不仔细看题,咱们为了遏制一下读题不认真仔细的童鞋,规定,两个素数相邻为1的也成为孪生素数. 输入 第一行给出N(0<N<100)表示测试数据组数. 接下来组测试数据给出m,表示找出m之前的所有孪生素数. (0<m<1000000) 输出 每组测试数据输出占一行,该行为m范围内所有孪生素数组数. 样例输入 1 14 样例输出 4 1

白话空间统计之五:空间关系的概念化(下)

空间关系的概念化,在ArcGIS中,一共是有7种.前面我们说了反距离.距离范围.无差别区域和面邻接四种,后面还有三种今天一并说完. 后面的几种,其实也都是在前面的那些"简单粗暴"的模型中发展而来的,正所谓"大道至简"一点也没错. 五.K 最近相邻要素 所谓的K最近相邻,就是指在一定的范围内,都算相邻的要素,这个概念是"距离范围"模型改良之后生成的.距离范围是以一定距离为阈值,而这个模型是以要素的个数为阈值的. 比如,你选定了K=8,那么这个要素周

认识数学各个分支

数论 人类从学会计数开始就一直和自然数打交道了,后来由于实践的需要,数的概念进一步扩充,自然数被叫做正整数,而把它们的相反数叫做负整数,介于正整数和负整数中间的中性数叫做0.它们和起来叫做整数. 对于整数可以施行加.减.乘.除四种运算,叫做四则运算.其中加法.减法和乘法这三种运算,在整数范围内可以毫无阻碍地进行.也就是说,任意两个或两个以上的整数相加.相减.相乘的时候,它们的和.差.积仍然是一个整数.但整数之间的除法在整数范围内并不一定能够无阻碍地进行. 人们在对整数进行运算的应用和研究中,逐步

数学@2019

年初,证明了<strong>指标定理</strong>,为数学和物理学作出杰出贡献的数学家<strong>迈克尔·阿蒂亚爵士</strong>与世长辞,享年 89 岁:3 月,数学领域的最高奖项之一——阿贝尔奖——授予了数学家<strong>凯伦·乌伦贝克</strong>,以表彰她在"几何偏微分方程.规范理论和可积系统的开创性贡献,以及她在分析.几何和数学物理领域的工作上的深远影响 ",她也成为了首位获此殊荣的女

陈景润院士生平事迹描述

陈景润院士生平事迹简介 寄语:陈景润对于数学尤其是数论的痴迷已经到了无我的境界.用于攻克哥德巴赫猜想的稿纸有几麻袋,常年在自己不到6平米的房间里废寝忘食地演算.即使在自己病入膏肓的时候,也不忘去突破,也不忘记对于青年数学家的培养和教导.他最信奉的格言就是“人生不是索取而是奉献”.今天励志故事网分享给各位读者的是陈景润院士生平事迹简介,欢迎阅读. 陈景润,男,汉族,1933年5月22日生于福建福州.1950年8月前在家乡读小学.中学.1950年9月至1953年8月就读于厦门大学数学系.1953年9

孪生蜘蛛

codevs1020 孪生蜘蛛 1020 孪生蜘蛛 题目描述 Description 在G城保卫战中,超级孪生蜘蛛Phantom001和Phantom002作为第三层防卫被派往守护内城南端一带极为隐秘的通道. 根据防护中心的消息,敌方已经有一只特种飞蛾避过第二层防卫,直逼内城南端通道入口.但优秀的蜘蛛已经在每个通道内埋下了坚固的大网,无论飞蛾进入哪个通道,他只有死路一条!(因为他是无法挣脱超级蛛网的) 现在,001和002分别驻扎在某两个通道内.各通道通过内线相通,通过每条内线需要一定的时间.当