1. 程式人生 > >【Eternallyc】NEFU-2-哥德巴赫猜想

【Eternallyc】NEFU-2-哥德巴赫猜想

Description

哥德巴赫(Goldbach ]C.,1690.3.18~1764.11.20)是德國數學家;出生于格奧尼格斯別爾格(現名加裡寧城);曾在英國牛津大學學習;原學法學,由於在歐洲各國訪問期間結識了貝努利家族,所以對數學研究產生了興趣;曾擔任中學教師。1725年,到了俄國,同年被選為彼得堡科學院院士;1725年~1740年擔任彼得堡科學院會議祕書;1742年,移居莫斯科,並在俄國外交部任職。
1742年,哥德巴赫在教學中發現,每個不小於6的偶數都是兩個素數(只能被1和它本身整除的數)之和。如6=3+3,14=3+11等等。公元1742年6月7日哥德巴赫寫信給當時的大數學家尤拉,尤拉在6月30日給他的回信中說,他相信這個猜想是正確的,但他不能證明。敘述如此簡單的問題,連尤拉這樣首屈一指的數學家都不能證明,這個猜想便引起了許多數學家的注意。從哥德巴赫提出這個猜想至今,許多數學家都不斷努力想攻克它,但都沒有成功。
我們不需要你去證明哥德巴赫猜想。
如果哥德巴赫猜想是正確的,一個(不小於6的)偶數,都是兩個素數之和。那麼這個偶數能被至少一個素數對錶示,如14,即可以表示為14=3+11,也可以表示為14=7+7。不同的偶數對應的素數對的數目是不一樣的,如偶數6,就只能表示為6=3+3。對於每個給定的偶數,我們希望知道有多少素數對的和等於該偶數。

Input

有多組測試資料。每組測試資料佔一行,包含唯一的一個正偶數n.(6 <= n <= 2^24,)。 輸出以EOF結束。

Output

對於每個輸入的偶數,輸出一行包含唯一的一個整數:表示有多少個素數對的和是輸入的偶數。

Sample Input

6
14

Sample Output

1
2

這是道水題,只是需要注意下i陣列是bool型別的,是int的話過不了

#include <cstdio>
#include <cstring>
#define maxn 16777250
bool i[maxn];
int main()
{
    memset
(i,0,sizeof(i)); i[0]=i[1]=1; for(int a = 2;a *a < maxn;a ++) { if(!i[a]) { for(int b = 2;a *b<maxn;b ++) i[a*b]=1; } } int n; int num=0; while(~scanf("%d",&n)) { num=0; for(int a = 2;a <= n/2
;a ++) { if(i[a]==0&&i[n-a]==0) num++; } printf("%d\n",num); } return 0; }

相關推薦

EternallycNEFU-2-猜想

Description 哥德巴赫(Goldbach ]C.,1690.3.18~1764.11.20)是德國數學家;出生于格奧尼格斯別爾格(現名加裡寧城);曾在英國牛津大學學習;原學法學,由於在歐洲各國訪問期間結識了貝努利家族,所以對數學研究產生了興趣;曾擔任

CodeForces735D猜想Taxes 題解

Taxes Mr. Funt now lives in a country with a very specific tax laws. The total income of mr. Funt during this year is equal to n (

C語言猜想

問題:計算得到某一區間內所有符合哥德巴赫猜想的數。 背景:哥德巴赫猜想:任一大於2的偶數都可寫成兩個素數之和。 思路: 1.得到這個區間內的所有素數,放入一陣列。 2.計算這些素數之間的和。 3.得解。 程式: #inc

6-2 使用函式驗證猜想 (20 point(s))

6-2 使用函式驗證哥德巴赫猜想 (20 point(s)) 本題要求實現一個判斷素數的簡單函式,並利用該函式驗證哥德巴赫猜想:任何一個不小於6的偶數均可表示為兩個奇素數之和。素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。 函式介面定義: int prime( int

2909 Goldbach's Conjecture (猜想,數論,知識點結論)

題幹: For any even number n greater than or equal to 4, there exists at least one pair of prime numbers p1 and p2 such that n = p1 + p2 T

Codeforces Round #382 (Div. 2) -- D. Taxes (數學 -- 猜想, 唯一分解定理)

Mr. Funt now lives in a country with a very specific tax laws. The total income of mr. Funt during this year is equal to n (n ≥ 2) burles and the amount

Codeforces Round #324 (Div. 2) (B排列組合)(C貪心)(D猜想 數論+暴力)

題意:。。。。 思路:剛開始還想用什麼字串模擬或者大數什麼的,後來想了想差點笑出聲來,樣例就是用來忽悠人的。。。 #include <bits/stdc++.h> #define ll

Codeforces Round #382 (Div. 2) D. Taxes (猜想

D. Taxes 題目連結 題面 Mr. Funt now lives in a country with a very specific tax laws. The total income of mr. Funt during this year is

6-2 使用函式驗證猜想(20 分)

本題要求實現一個判斷素數的簡單函式,並利用該函式驗證哥德巴赫猜想:任何一個不小於6的偶數均可表示為兩個奇素數之和。素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。函式介面定義:int prime( int p ); void Goldbach( int n ); 其中函式prime當用戶傳入引

Codeforces Round #382 (Div. 2)D. Taxes(猜想)

Mr. Funt now lives in a country with a very specific tax laws. The total income of mr. Funt during this year is equal to n (n ≥ 2) burles and the amount

1224 猜想2

1224 哥德巴赫猜想(2) Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 1564 | Solved : 629 D

Codeforces Round #324 (Div. 2) (猜想

div std 題目 isp fin codeforce printf for space 題目:http://codeforces.com/problemset/problem/584/D 思路: 關於偶數的哥德巴赫猜想:任一大於2的偶數都可寫成兩個素數之和。

使用函數驗證猜想

要求 整數 blog -h spa 判斷素數 item card tex 6-2 使用函數驗證哥德巴赫猜想(20 分) 本題要求實現一個判斷素數的簡單函數,並利用該函數驗證哥德巴赫猜想:任何一個不小於6的偶數均可表示為兩個奇素數之和。素數就是只能被1和自身整除的正整數

洛谷——P1579 猜想(升級版)

驗證 一個空格 i++ -s define while char pac algorithm P1579 哥德巴赫猜想(升級版) 題目背景 1742年6月7日哥德巴赫寫信給當時的大數學家歐拉,正式提出了以下的猜想:任何一個大於9的奇數都可以表示成3個質數之和。質數是指除

洛谷 P1579 猜想(升級版)

== bar spa class badge bsp span lba -c P1579 哥德巴赫猜想(升級版) 題目背景 1742年6月7日哥德巴赫寫信給當時的大數學家歐拉,正式提出了以下的猜想:任何一個大於9的奇數都可以表示成3個質數

用C++驗證猜想

作者 cout end c++ mes post clu 1.2 prim /*時間:2018.1.25作者:小島的水*/#include<iostream>using namespace std;//驗證哥德巴赫猜想:任何一個大於六的偶數可以表示為兩個素數之和

Luogu P1304 猜想

ora printf math clu 輸入輸出格式 memset 答案 AI ring 題目描述 輸入N(N<=10000),驗證4~N所有偶數是否符合哥德巴赫猜想。 (N為偶數)。 如果一個數,例如10,則輸出第一個加數相比其他解法最小的方案。如10=3+7=5+

F - Goldbach`s Conjecture(猜想

++ ons == code += ostream ring con space 題目大致的意思是輸出一個偶數總共有多少個素數對構成哥德巴赫猜想(PS:陷阱好多,稍一不慎就超內存了) 1 #include <iostream> 2 #include &

Goldbach`s Conjecture LightOJ - 1259 (素數打表 猜想

rim inf clu 就是 include str cst name long long 題意: 就是哥德巴赫猜想。。。任意一個偶數 都可以分解成兩個(就是一對啦)質數的加和 輸入一個偶數求有幾對。。 解析: 首先! 素數打表。。因為 質數 + 質數 = 偶數 所以 偶數

ACM_猜想(素數篩)

ont other turn desc 簡單 rim 全部 == pan 哥德巴赫猜想 Time Limit: 2000/1000ms (Java/Others) Problem Description: 哥德巴赫猜想大概是這麽一回事:“偶數(>=4) ==