| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
好心人帮我看看,哪里错了~~#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define Maxn 1000005
int prime[80000];
bool f[Maxn];
int pt;
void fact()
{
int i, j;
pt = 0;
memset(f, false, sizeof(f));
for(i = 4;i <= 1000000;i += 2){
f[i] = true;
}
f[0] = f[1] = f[2] = true;
for(i = 3;i <= 1000000;i++){
if(f[i] == false){
prime[pt++] = i;
if(i > 1000)continue;
j = i * i;
while(j <= 1000000){
f[j] = true;
j += i;
}
}
}
}
int main()
{
fact();
int n, tag, i, a, b;
while(scanf("%d", &n) && n){
tag = 0;
for(i = 0;i < pt;i++){
if(prime[i] >= n || n - prime[i] < prime[i]) break;
if(f[n - prime[i]] == false && n - prime[i] != prime[i]){
a = prime[i];
tag = 1;
break;
}
}
if(tag == 0){
printf("Goldbach's conjecture is wrong.\n");
continue;
}
b = n - a;
printf("%d = %d + %d\n", n, a, b);
}
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator