POJ Goldbach's Conjecture
来源:互联网 发布:java系统设计文档 编辑:程序博客网 时间:2024/05/17 23:37
Description
In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in which he made the following conjecture:
For example:
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.
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.
Each test case consists of one even integer n with 6 <= n < 1000000.
Input will be terminated by a value of 0 for n.
题目大意
将一个数分解成两个素数a,b的和,a要尽量小。
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
820420
Sample Output
8 = 3 + 520 = 3 + 1742 = 5 + 37
题解
素数筛法模板。
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>using namespace std;int n;bool a[1000002];void prime(){ a[0]=a[1]=1; for(int i=2;i<=1000000;i++) {if(!a[i]) for(int j=i*2;j<=1000000;j+=i) a[j]=1; } }int main(){ prime(); while(scanf("%d",&n)&&n) {for(int i=0;i<=n;i++) {if(!a[i]&&!a[n-i]) {printf("%d = %d + %d\n",n,i,n-i); break;} } } return 0;}
0 0
- POJ Goldbach's Conjecture
- POJ Goldbach's Conjecture
- POJ 2909 Goldbach's Conjecture
- POJ 2262 Goldbach's Conjecture
- POJ 2262 Goldbach’s Conjecture
- poj 2262 Goldbach's Conjecture
- POJ 2262 Goldbach's Conjecture
- POJ 2262 Goldbach's Conjecture
- poj-2262 Goldbach's Conjecture
- poj-2262 Goldbach's Conjecture
- poj 2262 Goldbach's Conjecture
- poj 2909 Goldbach's Conjecture
- POJ 2262 Goldbach's Conjecture
- POJ 2262 ----Goldbach's Conjecture
- Poj 2262 Goldbach's Conjecture
- poj 2262 Goldbach's Conjecture
- POJ 2262 Goldbach's Conjecture
- POJ-2262-Goldbach's Conjecture
- samba 文件和文件夹权限控制
- NOIP提高组 1999 & 2000 题解合集
- HDU解题报告——1717
- Effective C++:条款52 写了placement new也要写placement delete
- [leetcode]Edit Distance
- POJ Goldbach's Conjecture
- 当然了,两岸关系也不可能是一帆风顺的
- Linux Shell脚本应用——使用if判断结构
- ACM从弱到强的进步
- 中文分词--最少单词数
- 关于activity元素的 android.intent.action.MAIN 和 android.intent.category.LAUNCHER
- usb setup请求结构体分析
- finally语句是在try的return语句执行之后,return返回之前执行
- 双曲 函数 曲线