Poj_2262 Goldbach's Conjecture(筛法求素数)
2016-12-12 21:41
302 查看
题意:
哥德巴赫猜想,一个偶数一定能化为两个质数的乘积。
思路:
练习了一下筛法求素数,不用写不成立的情况,因为目前还没有找出反例。
代码实现:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;
const int MAX = 1000005;
int N;
int cnt;
bool flag;
int prime[MAX/2];
bool is_prime[MAX];
void sieve();
int main()
{
sieve();
while( scanf("%d",&N) != EOF ){
if( N == 0 ){
break;
}
flag = false;
for( int i = 0; i < cnt; i++ ){
int a = prime[i];
int b = N-a;
if( is_prime[b] == true ){
flag = true;
printf("%d = %d + %d\n",N,a,b);
break;
}
}
}
return 0;
}
void sieve(){
cnt = 0;
for( int i = 0; i < MAX; i++ ){
is_prime[i] = true;
}
for( int i = 2; i < MAX; i++ ){
if( is_prime[i] == true ){
prime[cnt++] = i;
for( int j = 2*i; j < MAX; j += i ){
is_prime[j] = false;
}
}
}
return ;
}
哥德巴赫猜想,一个偶数一定能化为两个质数的乘积。
思路:
练习了一下筛法求素数,不用写不成立的情况,因为目前还没有找出反例。
代码实现:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;
const int MAX = 1000005;
int N;
int cnt;
bool flag;
int prime[MAX/2];
bool is_prime[MAX];
void sieve();
int main()
{
sieve();
while( scanf("%d",&N) != EOF ){
if( N == 0 ){
break;
}
flag = false;
for( int i = 0; i < cnt; i++ ){
int a = prime[i];
int b = N-a;
if( is_prime[b] == true ){
flag = true;
printf("%d = %d + %d\n",N,a,b);
break;
}
}
}
return 0;
}
void sieve(){
cnt = 0;
for( int i = 0; i < MAX; i++ ){
is_prime[i] = true;
}
for( int i = 2; i < MAX; i++ ){
if( is_prime[i] == true ){
prime[cnt++] = i;
for( int j = 2*i; j < MAX; j += i ){
is_prime[j] = false;
}
}
}
return ;
}
相关文章推荐
- 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 2262 Goldbach's Conjecture
- POJ 2262 / UVa 543 - Goldbach's Conjecture (哥德巴赫猜想)
- POJ-2262-Goldbach's Conjecture 解题报告
- POJ 2262 Goldbach's Conjecture(素数相关)
- Poj 2262 / OpenJudge 2262 Goldbach's Conjecture
- POJ 2262 Goldbach's Conjecture
- Poj 2262 Goldbach's Conjecture
- POJ2262:Goldbach's Conjecture
- POJ 2262-Goldbach's Conjecture(素数筛)
- poj2262 Goldbach's Conjecture
- POJ-2262-Goldbach's Conjecture-2013-11-28 23:15:10
- POJ 2262 Goldbach's Conjecture ( 筛选法求素数 )