Poj 2262 / OpenJudge 2262 Goldbach's Conjecture
1.Link:
http://poj.org/problem?id=2262
http://bailian.openjudge.cn/practice/2262
2.Content:
Goldbach's Conjecture
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 37791 Accepted: 14536 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
8
20
42
0Sample Output
8 = 3 + 5
20 = 3 + 17
42 = 5 + 37Source
3.Method:
筛素数法
4.Code:
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring> #define MAX_NUM 1000000 using namespace std; int main()
{
//freopen("D://input.txt","r",stdin); int i,j; bool * arr_prime = new bool[MAX_NUM + ]; for(i = ; i <= MAX_NUM; i += ) arr_prime[i] = true;
for(i = ; i <= MAX_NUM; i += ) arr_prime[i] = false;
arr_prime[] = true; int sqrt_mn = sqrt(MAX_NUM);
for(i = ; i <= sqrt_mn; i += )
{
if(arr_prime[i])
{
for(j = i + i; j <= MAX_NUM; j += i) arr_prime[j] = false;
}
} int a;
cin >> a; while(a != )
{ if(a % == && arr_prime[a - ])
{
cout << a << " = " << "" << " + " << (a - ) << endl;
}
else
{
for(i = ; i <= a / ; i += )
{
if(arr_prime[i] && arr_prime[a - i])
{
cout << a << " = " << i << " + " << (a - i) << endl;
break;
}
}
} cin >> a;
} return ;
}
5.Reference:
http://blog.csdn.net/liukehua123/article/details/5482854
Poj 2262 / OpenJudge 2262 Goldbach's Conjecture的更多相关文章
- Poj 2662,2909 Goldbach's Conjecture (素数判定)
一.Description In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard ...
- poj 2262 Goldbach's Conjecture(素数筛选法)
http://poj.org/problem?id=2262 Goldbach's Conjecture Time Limit: 1000MS Memory Limit: 65536K Total ...
- poj 2262 Goldbach's Conjecture——筛质数(水!)
题目:http://poj.org/problem?id=2262 大水题的筛质数. #include<iostream> #include<cstdio> #include& ...
- POJ 2262 Goldbach's Conjecture (打表)
题目链接: https://cn.vjudge.net/problem/POJ-2262 题目描述: In 1742, Christian Goldbach, a German amateur mat ...
- [暑假集训--数论]poj2262 Goldbach's Conjecture
In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in whic ...
- Goldbach’s Conjecture(信息学奥赛一本通 1622)
[题目描述] 原题来自:Ulm Local,题面详见:POJ 2262 哥德巴赫猜想:任何大于 44 的偶数都可以拆成两个奇素数之和. 比如: 8=3+5 20=3+17=7+13 42=5+37=1 ...
- Goldbach's Conjecture
Goldbach's Conjecture Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I ...
- HDOJ 1397 Goldbach's Conjecture(快速筛选素数法)
Problem Description Goldbach's Conjecture: For any even number n greater than or equal to 4, there e ...
- Goldbach's Conjecture(哥德巴赫猜想)
Goldbach's Conjecture Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot ...
随机推荐
- 贪心算法(Greedy Algorithm)之最小生成树 克鲁斯卡尔算法(Kruskal's algorithm)
克鲁斯卡尔算法(Kruskal's algorithm)是两个经典的最小生成树算法的较为简单理解的一个.这里面充分体现了贪心算法的精髓.大致的流程能够用一个图来表示.这里的图的选择借用了Wikiped ...
- Python integer objects implementation
http://www.laurentluce.com/posts/python-integer-objects-implementation/ Python integer objects imple ...
- python工具程序一、复制目录中指定扩展名的文件
#!/usr/bin/env python # coding:utf-8 # xcopy Lib directory and rename all files to *d.lib import os ...
- 使用Areas(区域)分离ASP.NET MVC 项目
在使用Areas区域时,如果使用默认路由表,将造成路由表冲突,这种情况需要修改一下区域内<区域名称>AreaRegistration.cs和/App_Start/RouteConfig.a ...
- rabbitmq——用户管理
安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败. 翻看官方的release文档后,得知由于账号gues ...
- Storm中并发程度的理解
Storm中涉及到了很多组件,例如nimbus,supervisor等等,在参考了这两篇文章之后,对这个有了更好的理解. Understanding the parallelism of a Stor ...
- Header 与 Footer 的 DIV 高度固定, 中间内容 DIV高度自适应,内容不满一页时,默认填满屏幕。
一.需求: 页面布局分三大块: Header Body Footer 1.内容不满一页时,Footer 在屏幕最底部,Body 填充满 Header 与 Footer 中间的部分. 2.当缩小浏览器时 ...
- sql语句判断方法之一
sql语句判断方法之一CASE语句用法总结 背景: Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN ' ...
- github/hexo搭建个人博客几个问题总结
问题一:hexo ERROR Deployer not found: github or hexo ERROR Deployer not found: git npm install hexo-dep ...
- ionic获取事件中的对象
ng-click="submit1($event, 'argsTest’)" $scope.submit1=function(event, args){ var target = ...