PAT BASIC LEVEL 1007. 素数对猜想 (20)
来源:互联网 发布:网络诽谤案例 编辑:程序博客网 时间:2024/05/16 23:44
1007. 素数对猜想 (20)
让我们定义 dn 为:dn = pn+1 - pn,其中 pi是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N (<105),请计算不超过N的满足猜想的素数对的个数。
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:20
输出样例:
4
Answer:
#include<iostream>#include<cmath>using namespace std;bool is_prime(int n) { double max = sqrt(n); for(int i = 2; i <= max; i ++) if(n % i == 0) return false; return true;}int count_prime_pair(int n) { if(n < 5) return 0; int odd; if(n % 2 == 1) odd = n / 2 + 1; else odd = n / 2; bool result[odd]; result[0] = false; result[1] = true; for(int i = 2; i < odd; i ++) if(is_prime(i * 2 + 1)) result[i] = true; else result[i] = false; int correct = 0; for(int i = 1; i < odd - 1; i ++) if(result[i] && result[i + 1]) correct ++; return correct;}int main() { int num; cin >> num; cout << count_prime_pair(num) << endl;}
0 0
- PAT (Basic Level)1007. 素数对猜想
- 【C++】浙大PAT (Basic Level)1007. 素数对猜想 (20)
- PAT Basic Level 1007. 素数对猜想 (20)
- PAT (Basic Level) Practise-1007. 素数对猜想 (20)
- PAT BASIC LEVEL 1007. 素数对猜想 (20)
- Basic Level 1007. 素数对猜想 (20)
- PAT(basic level) 1007 素数对猜想
- PAT(Basic Level)_1007_素数对猜想
- PAT.Basic Level. T.1007.素数对猜想
- PAT (Basic Level) Practise (中文)1007. 素数对猜想 (20)
- PAT (Basic Level) Practise (中文)1007. 素数对猜想 (20) C语言
- PAT (Basic Level) Practise (中文) 1007. 素数对猜想 (20)
- PAT (Basic Level) Practise (中文)1007. 素数对猜想 (20)
- Pat(Basic Level)Practice--1007(素数对猜想)
- 浙江大学PAT---Basic Level---1007----素数对猜想
- PAT 乙级 Basic Level 1007. 素数对猜想(素数筛法)
- 1007. 素数对猜想(PAT Basic)
- PAT (Basic Level) Practise (中文)—— 1007. 素数对猜想
- 枚举
- gdb watch 调试时,无法watch
- Android事件分发机制
- 事件冒泡和默认行为阻止
- 大白话讲解Promise(一)
- PAT BASIC LEVEL 1007. 素数对猜想 (20)
- 每天一个 Linux 命令(16):which命令
- swift 商品排序
- cc2640到cc2640R2F
- 7、用两个栈实现队列
- spark core 2.0 YarnClusterManager
- 数据结构:队列Queue的实现与代码分析
- JS中保留N位小数,四舍五入函数
- 设计练习:汽车经销商互动平台的页面界面设计