F 分拆素數和

2021-07-15 08:07:28 字數 861 閱讀 8562

time limit:1000ms memory limit:32768kb 64bit io format:%i64d & %i64u

submit

status

description

把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?

input

輸入包含一些正的偶數,其值不會超過10000,個數不會超過500,若遇0,則結束。

output

對應每個偶數,輸出其拆成不同素數的個數,每個結果佔一行。

sample input

30 26

0 sample output

3 2

題意:將乙個偶數分成兩個素數之和,問有多少中分法。

思路:如果每輸入乙個偶數都要判斷比此偶數小的數是不是素數,偶數與其之差是不是素數;分析可知,這種方法較為繁瑣且浪費時間。對於這種處理資料較多且資料都在一定範圍之內的題目,則可以選擇打表的方法,把相同的資料處理部分放在外面,用幾個陣列或其他資料結構儲存,大大節省了時間。

失誤:剛開始沒有想到用開乙個素數表,再根據此素數表打乙個次數表。

**如下:

#include

#include

#include

#include

#include

using

namespace

std;

int a[11111]=,b[11111]=;

int main()

for(j=2*i;j<=10010;j+=i)

}for(i=2;i<=10010;i+=2)}}

while(cin>>n,n)

F 分拆素數和

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

分拆素數和

分拆素數和 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?input 輸入包含一些正的偶數,其值不會超過10000,個數不...

分拆素數和

把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?input輸入包含一些正的偶數,其值不會超過10000,個數不會超過500,若遇0,則結束。output對應每個偶數,輸出其拆成不同素數的個數,每個結果佔一行。sample input30 260sample output3 2 這個題的思路比較簡單,你...