【哥德巴赫猜想】LightOJ Goldbach`s Conjecture 1259
来源:互联网 发布:淘宝网推广方法 编辑:程序博客网 时间:2024/09/21 06:32
Goldbach's conjecture is one of the oldest unsolved problems in number theory and in all of mathematics. It states:
Every even integer, greater than 2, can be expressed as the sum of two primes [1].
Now your task is to check whether this conjecture holds for integers up to 107.
Input
Input starts with an integer T (≤ 300), denoting the number of test cases.
Each case starts with a line containing an integer n (4 ≤ n ≤ 107, n is even).
Output
For each case, print the case number and the number of ways you can express n as sum of two primes. To be more specific, we want to find the number of (a, b) where
1) Both a and b are prime
2) a + b = n
3) a ≤ b
Sample Input
Output for Sample Input
2
6
4
Case 1: 1
Case 2: 1
Note
1. An integer is said to be prime, if it is divisible by exactly two different integers. First few primes are 2, 3, 5, 7, 11, 13, ...
题意:
一个数可以有多少种可能是由两个素数相加得到的。
解题思路:
哥德巴赫猜想,此题需要素数打表,还要注意打表后的判断方法,不能再采用普通的枚举算法,会超时。数组一定要开成bool型的,否则超内存。
AC代码:
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>#include <algorithm>using namespace std;int prime[700000];bool is_prime[10000000];int tot;void solve(){ tot=0; is_prime[0]=is_prime[1]=1; for(int i=2;i<10000000;i++) if(!is_prime[i]){ prime[tot++]=i; for(int j=i*2;j<10000000;j+=i){ is_prime[j]=1; } }}int main(){ solve(); int t; int xp=0; scanf("%d",&t); while(t--){ int n; scanf("%d",&n); int res=0; for(int i=0;prime[i]<=n/2;i++){ int j=n-prime[i]; if(!is_prime[j]) res++; } printf("Case %d: %d\n",++xp,res); } return 0;}
- 【哥德巴赫猜想】LightOJ Goldbach`s Conjecture 1259
- LightOJ 1259 Goldbach`s Conjecture(证明哥德巴赫猜想)
- POJ 2262 Goldbach's Conjecture 哥德巴赫猜想
- POJ 2262 Goldbach's Conjecture哥德巴赫猜想
- POJ 2262 Goldbach's Conjecture(哥德巴赫猜想)
- 【哥德巴赫猜想】POJ Goldbach's Conjecture 2262
- NUC1090 Goldbach's Conjecture【哥德巴赫猜想 】
- HDOJ1397 Goldbach's Conjecture(哥德巴赫猜想)
- lightOJ 1259 Goldbach`s Conjecture
- LightOJ - 1259 Goldbach`s Conjecture
- LightOJ 1259 Goldbach`s Conjecture
- LightOJ 1259 Goldbach`s Conjecture
- LightOJ - 1259 Goldbach`s Conjecture
- LightOJ 1259 Goldbach`s Conjecture
- LightOJ 1259 Goldbach`s Conjecture
- Goldbach`s Conjecture LightOJ 1259
- Goldbach`s Conjecture LightOJ 1259
- lightoj 1259 Goldbach`s Conjecture
- Eclilpse导入maven项目,无法自动构建为java项目的问题
- C#中DllImport用法汇总
- addChildViewController等方法
- 打开MyEclipse10是时候提示:Could not create the view: An unexpected exception was thrown.
- ABAP ALV里日期类型的F4帮助
- 【哥德巴赫猜想】LightOJ Goldbach`s Conjecture 1259
- 【iOS程序启动与运转】- RunLoop转载
- 理解 Spring AOP的含义
- struts2开发流程
- python request版 极客学院爬虫V1
-
- 编程中的数学问题
- Windows7 + IIS7 下使用 access
- ftp传输文件