1007. 素数对猜想 (20)
来源:互联网 发布:阿里云英文缩写 编辑:程序博客网 时间:2024/04/30 04:20
1007. 素数对猜想 (20)
让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N (<
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
//温故知新,修改于2016.7.30#include<iostream>using namespace std;int main(){ int num; cin>>num; int nums[100000]={0}; for(int i=2;i<=num/2;i++){ for(int j=2*i;j<=num;j+=i) nums[j-1]=1; } int count=0; for(int i=0;i<num-2;i++) if(nums[i]==0&&nums[i+2]==0&&nums[i+1]==1) count++; cout<<count<<endl; return 0;}
#include<iostream>#include<math.h>using namespace std;bool ifPrime(double num){ float mut=0.5; float n=pow((float)num,mut); for(int i=2;i<=n;i++) { for(int j=2;j<=num/2;j++) { if(i*j==num) return false; } } return true;}int main(){ cout<<"please input a number."<<endl; int data; cin>>data; int num=0; for(int i=2;i<=data;i++) { if(ifPrime(i)) { if(((i+2)<=data)&&ifPrime(i+2)) num++; } } cout<<num<<endl; return 0;}
其实这个题目没什么难度,有一个地方我一直不对:
float mut=0.5; float n=pow((float)num,mut);
开始的时候,我直接写成
int n=pow(num,1/2);
发现结果一直报错,原来
//C++提供以下几种pow函数的重载形式:double pow(double X,int Y);float pow(float X,float Y);float pow(float X,int Y);long double pow(long double X,long double Y);long double pow(long double X,int Y);
0 0
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 一步一步制作yaffs/yaffs2根文件系统(五)---生成yaffs/yaffs2镜像文件及下载到开发板
- 如何通过代码创建圆角矩形和图片背景选择器
- linux根文件系统/etc/group文件详解
- modal
- 河狸家:Redis 源码的深度剖析
- 1007. 素数对猜想 (20)
- 索引
- Java访问修饰符总结
- llinux根文件系统/etc/passwd文件详解
- Struts2的namespace+路径问题
- HDOJ-3791(二叉搜索树)
- 天声人語 20151120 また共謀罪なのか
- 欢迎使用CSDN-markdown编辑器
- ASP.NET-MVC4-07-Models-in-mvc