LightOJ 1259 Goldbach`s Conjecture(数论)
2016-02-25 20:32
471 查看
Goldbach`s Conjecture
DescriptionGoldbach'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
2
6
4
Sample Output
Case 1: 1
Case 2: 1
解题思路:
4 ≤ n ≤ 10的7次方,数据稍微有点大,因此用素数筛选法时定义数组要用bool类型,因为bool只占1个字节,而int占4个字节。AC代码:
#include <iostream> #include <cstdio> #include <cstring> #include <vector> using namespace std; bool vis[10000005];//bool只占1个字节,int占4个字节 vector<int> v; void get_prime(){ memset(vis,false,sizeof(vis)); vis[1] = true; for(int i = 2; i <= 10000000; i++){ int t = 10000000/i; for(int j = 2; j <= t; j++) vis[i*j] = true; } for(int i = 2; i <= 10000000; i++) if(!vis[i]) v.push_back(i); } int main(){ get_prime(); int T,t = 1; scanf("%d",&T); while(T--){ int n,ans = 0; scanf("%d",&n); for(int i = 0; v[i] <= n/2; i++){ int tmp = n-v[i]; if(!vis[tmp]) ans++; } printf("Case %d: %d\n",t++,ans); } return 0; }
相关文章推荐
- Google Guava官方教程(中文版 转载)
- NS2中GOD的使用
- Django学习随手记(四)
- Django~automated tests
- 仅当使用了列的列表,并且IDENTITY_INSERT为ON时,才能在表'goldlog'中为标识列指定显式值
- Pymongo: TypeError: if no direction is specified, key_or_list must be an instance of list
- Django~Models1
- mongoose使用的抓狂
- golang笔记——流程控制
- GoogLeNet系列解读
- Google Guava 类库 笔记
- Django ~module index
- 【SPOJ-COINS】Bytelandian gold coins【DP】
- django的404,500错误自定义页面的配置
- [mongo] mongoose增删改查操作
- The backtracking algorithm
- Boyer-Moore Majority Vote Algorithm的更一般性问题
- Go Mobile 例子 audio 源码分析
- 原创翻译:James Whittaker系列——Google是如何测试的(2)
- 我的MVC框架————GothaMVC(4)GothamDispatcher的实现和Model层的封装