Poj.2262 Goldbach's Conjecture【素数】 2015/09/22
2015-09-22 15:04
676 查看
Goldbach's Conjecture
Description
In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in which he made the following conjecture:
Every even number greater than 4 can be
written as the sum of two odd prime numbers.
For example:
8 = 3 + 5. Both 3 and 5 are odd prime numbers.
20 = 3 + 17 = 7 + 13.
42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23.
Today it is still unproven whether the conjecture is right. (Oh wait, I have the proof of course, but it is too long to write it on the margin of this page.)
Anyway, your task is now to verify Goldbach's conjecture for all even numbers less than a million.
Input
The input will contain one or more test cases.
Each test case consists of one even integer n with 6 <= n < 1000000.
Input will be terminated by a value of 0 for n.
Output
For each test case, print one line of the form n = a + b, where a and b are odd primes. Numbers and operators should be separated by exactly one blank like in the sample output below. If there is more than one pair of odd primes adding up to n, choose the pair
where the difference b - a is maximized. If there is no such pair, print a line saying "Goldbach's conjecture is wrong."
Sample Input
Sample Output
Source
Ulm Local 1998
同ZOJ1951
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 41186 | Accepted: 15776 |
In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in which he made the following conjecture:
Every even number greater than 4 can be
written as the sum of two odd prime numbers.
For example:
8 = 3 + 5. Both 3 and 5 are odd prime numbers.
20 = 3 + 17 = 7 + 13.
42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23.
Today it is still unproven whether the conjecture is right. (Oh wait, I have the proof of course, but it is too long to write it on the margin of this page.)
Anyway, your task is now to verify Goldbach's conjecture for all even numbers less than a million.
Input
The input will contain one or more test cases.
Each test case consists of one even integer n with 6 <= n < 1000000.
Input will be terminated by a value of 0 for n.
Output
For each test case, print one line of the form n = a + b, where a and b are odd primes. Numbers and operators should be separated by exactly one blank like in the sample output below. If there is more than one pair of odd primes adding up to n, choose the pair
where the difference b - a is maximized. If there is no such pair, print a line saying "Goldbach's conjecture is wrong."
Sample Input
8 20 42 0
Sample Output
8 = 3 + 5 20 = 3 + 17 42 = 5 + 37
Source
Ulm Local 1998
同ZOJ1951
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; bool prime[1000010]; void init(){ memset(prime,false,sizeof(prime)); for( int i = 2 ; i <= 1000000 ; ++i ){ if( !prime[i] ){ for( int j = i+i ; j <= 1000000 ; j+=i ) prime[j] = true; } } } int main(){ init(); int n; while( cin>>n ){ if( !n ) break; for( int i = 2 ; i <= n/2 ; ++i ){ if( !prime[i] && !prime[n-i] ){ printf("%d = %d + %d\n",n,i,n-i); break; } } } return 0; }
相关文章推荐
- ZOJ.1951 Goldbach's Conjecture【素数】 2015/09/22
- HDU 3221 Brute-force Algorithm(欧拉公式降幂)
- Django 表单
- 电脑技巧---完全控制面板---上帝模式(God Mode)
- 第一个go程序hello world讲解
- 向Django提交表单
- Intent中的四个重要属性——Action、Data、Category、Extras
- Algorithms—148.Sort List
- Django搭建简单网页的学习笔记 之三(View)
- martini框架源码阅读分析
- Django搭建简单网页的学习笔记 之一(models)
- Ubuntu安装sougou输入法
- 【学习笔记】Google glog 使用
- New world,Good luck!
- golang(够烂)的helloworld
- Django 通用视图
- Django class based view walkthrough: TemplateView
- Django 1.6 最佳实践: 如何正确使用 CBVs (Class-based views)
- Google浏览器如何加载本地文件
- Django学习中的问题总结