poj2262 简单素数判定
2017-04-08 16:48
337 查看
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
题意:输入一个数,将其写成俩个素数相加的形式。
很简单的一道题,只要将第一次出现的符合条件的情况输出即可。
代码:
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
bool isodd(int x)
{
int y=sqrt(x+0.5);
for(int i=2;i<=y;i++)
{
if(x%i==0)
{
return false;
}
}
return true;
}
int main()
{
int n;
while(scanf("%d",&n)&&n!=0)
{
for(int i=3;i<=n-3;i++)
{
if(isodd(i)&&isodd(n-i))
{
printf("%d = %d + %d\n",n,i,n-i);
break;
}
}
}
return 0;
}
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 45296 | Accepted: 17255 |
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
题意:输入一个数,将其写成俩个素数相加的形式。
很简单的一道题,只要将第一次出现的符合条件的情况输出即可。
代码:
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
bool isodd(int x)
{
int y=sqrt(x+0.5);
for(int i=2;i<=y;i++)
{
if(x%i==0)
{
return false;
}
}
return true;
}
int main()
{
int n;
while(scanf("%d",&n)&&n!=0)
{
for(int i=3;i<=n-3;i++)
{
if(isodd(i)&&isodd(n-i))
{
printf("%d = %d + %d\n",n,i,n-i);
break;
}
}
}
return 0;
}
相关文章推荐
- POJ 2262 (简单素数判定 ,需要优化)
- POJ 2262 Goldbach's Conjecture 简单的素数
- POJ2262 素数判定,万能的素数筛选
- poj 1811 Prime Test(数论:大素数判定-分解)
- POJ 2262 Goldbach's Conjecture(素数表分解质数)
- POJ 1595 Prime Cuts 简单素数打表
- poj 2262 Goldbach's Conjecture 素数 水题
- poj 2262 素数
- poj2262 - 素数判断
- 几种简单的素数判定法(转)
- POJ 2262 Goldbach's Conjecture 素数打表
- POJ 2262/ ZOJ 1951:Goldbach\'s Conjecture - 筛法打素数表
- poj 1811 Prime Test(大素数判定)
- POJ 2262 Goldbach's Conjecture(素数表)
- POJ - 3641 Pseudoprime numbers <快速幂加素数判定>
- POJ 3006(Dirichlet's Theorem on Arithmetic Progressions T) 素数判定入门 Java
- poj 2262 Goldbach's Conjecture 素数 水题
- POJ 2262 Goldbach's Conjecture (求解素数的一般筛和线性筛)
- POJ 2262 Goldbach's Conjecture(素数相关)
- POJ 2262 Goldbach's Conjecture ( 筛选法求素数 )