# 猜想 |
||
|
||
# description | ||
|
||
# input | ||
|
||
# output | ||
|
||
# sample_input | ||
|
||
# sample_output | ||
|
验证哥德巴赫猜想
注意Eratosthenes筛法的写法,每次下标不能只增加1,具体实施见代码
[C++]
1 #include<iostream>
2 #include<cstring>
3 #include<cmath>
4 #define N 16777220
5
6 using namespace std;
7
8 bool isprime[N];
9
10 int main()
11 {
12 long n,t,i,j;
13 memset(isprime,true,sizeof(isprime));
14 int e=sqrt(N);
15 isprime[0]=isprime[1]=false;
16 for(i=4;i<N;i+=2)
17 isprime[i]=false;
18 for(i=3;i<N;i+=2)
19 {
20 if(isprime[i])
21 for(j=i*2;j<N;j+=i)
22 isprime[j]=false;
23 }
24 while((cin>>n)&&n)
25 {
26 t=0;
27 for(i=2;i<n/2+1;i++)
28 if(isprime[i]&&isprime[n-i])
29 {
30 t++;
31 }
32
33 cout<<t<<endl;
34 }
35
36 return 0;
37 }
原文链接: https://www.cnblogs.com/lzj-0218/archive/2013/05/04/3059826.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/87126
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!