問題描述 :
把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?
說明:比如10,可以拆成3+7和5+5以及7+3,
但是3+7與7+3相同,只算一種,5+5由於兩個素數相同,不計算在內。
因此,10的拆法只有一種。
輸入說明 :
首先輸入乙個t(不超過500),然後輸入t個正的偶數,其值不會超過10000。
輸出說明 :
對應每個偶數,輸出其拆成不同素數的個數,每個結果佔一行。
輸入範例 :44
6810輸出範例 :00
11思想:首先計算10000內的所有素數,存入乙個陣列中,然後遍歷輸入的數,使用兩層遍歷,外層從第0個素數開始,終止條件是這個素數小於當前遍歷數字的一半(防止重複計算),內層從第0個素數開始,結束條件是這個素數小於當前遍歷數字,每當遍歷到內層數字+外層數字=目標數字的時候就將計數器++。
#include #includeint isvegetablenum(int
x) }
return1;
}int
main()
;
for(i=2;i<10000;i++)
}scanf("%d
",&num);
intnums[num];
int res[500]=;
for(i=0;i)
for(i = 0;i)}}
s++;
}for(i =0;i)
return0;
}
分拆素數和
分拆素數和 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?input 輸入包含一些正的偶數,其值不會超過10000,個數不...
分拆素數和
把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?input輸入包含一些正的偶數,其值不會超過10000,個數不會超過500,若遇0,則結束。output對應每個偶數,輸出其拆成不同素數的個數,每個結果佔一行。sample input30 260sample output3 2 這個題的思路比較簡單,你...
分拆素數和。
description 把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?input 每行包含乙個正的偶數,其值不會超過10000,個數不會超過500。output 對應每個偶數,輸出其拆成不同素數和的組數,每個結果佔一行。sample input 30 26 sample output3 2 寫乙個判...