杭電ACM2098 分拆素數和

2021-06-28 10:24:25 字數 972 閱讀 4465

題目:

這是原始碼。其實我本不想拿出原始碼,畢竟原始碼很容易被複製。

我這裡剛開始出錯的地方有

0_0_12811458_22064.cpp

0_0_12811458_22064.cpp(9) : error c2668: 「sqrt」 : 對過載函式的呼叫不明確

\include\math.h(626): 可能是「long double sqrt(long double)」

\include\math.h(578): 或 「float sqrt(float)」

\include\math.h(200): 或 「double sqrt(double)」

試圖匹配引數列表「(int)」時

0_0_12811458_22064.cpp(12) : error c2668: 「sqrt」 : 對過載函式的呼叫不明確

\include\math.h(626): 可能是「long double sqrt(long double)」

\include\math.h(578): 或 「float sqrt(float)」

\include\math.h(200): 或 「double sqrt(double)」

試圖匹配引數列表「(int)」時

我並不是太明白這是為什麼。然後度娘給我答案,說int i,n; i<=int(sqrt(float(n)));如果是直接sqrt的話,n和i都是int型,而sqrt結果卻是double型的,系統自身沒有強制轉化的功能。

if(is_prime(i)&&is_prime(n-i))

需要判斷重合的那個數,我一直沒想到。

#include#include#include#include using namespace std;

int is_prime(int n)

int main()

} cout<

航電ACM練習 2098 分拆素數和

problem description 把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?input 輸入包含一些正的偶數,其值不會超過10000,個數不會超過500,若遇0,則結束。output 對應每個偶數,輸出其拆成不同素數的個數,每個結果佔一行。sample input 30 26 0 samp...

hdoj 2098 分拆素數和

題目 分拆素數和 最開始打表,把10000以內的素數都存起來,這是為了多次驗證素數的時候節約時間。然後再查詢,對錶內小於給定的n的數x,查詢n x是否位於素數表內。查詢時候沒有加x小於n x的限制條件,所以查出來的個數是真正題目要求輸出數的兩倍,其中包含了x和n x能相同的這一對,整數 準確說應該是...

hd 2098 分拆素數和

原題鏈結 includeint sushu int n return 0 int main return 0 打表法 includeint prime 10010 int fun int main printf d n k while 1 return 0 使用while 1 記得加分號才能達到效果...