題目描述
任何大於 1 的自然數n都可以寫成若干個大於等於2且小於等於n的質數之和表示式(包括只有乙個數構成的和表示式的情況),並且可能有不止一種質數和的形式。
例如,9 的質數和表示式就有四種本質不同的形式:
9=2+5+2=2+3+2+2=3+3+3=2+7。
這裡所謂兩個本質相同的表示式是指可以通過交換其中乙個表示式中 參加和運算的各個數的位置而直接得到另乙個表示式。
試程式設計求解自然數n可以寫成多少種本質不同的質數和表示式。
輸入格式
有多組資料
一行存放乙個自然數n(2<= n <=500)。
輸出格式
輸出自然數n的本質不同的質數和表示式的數目。
樣例資料
input
2 output
1資料規模與約定
時間限制:
1s空間限制:
256mb
這道題目就是乙個典型的完全揹包求方案數。
狀態轉移方程f[
j]=f
[j]+
f[j−
prim
e[i]
] f[j
]=f[
j]+f
[j−p
rime
[i]]
#include
using
namespace
std;
inline
int read()
const
int maxn=600;
int n;
namespace get_prime
}//埃氏篩。懶得寫線性篩
}using
namespace get_prime;
namespace dp
}using
namespace dp;
int main()
200 島嶼數量
複雜度分析 時間複雜度 o m n 其中 m 和 n 分別為行數和列數。空間複雜度 最壞情況下為 o m n 此時整個網格均為陸地,深度優先搜尋的深度達到m n。class solution int numislands vector grid int cnt 0 for int i 0 i gri...
200 島嶼數量
leetcode 200.島嶼數量 島嶼另一種型別 求周長 leetcoed 463.島嶼的周長 廣度優先遍歷 bfs 深度優先遍歷 dfs 2.1 dfs 就是遇到乙個 1 遞迴下去繼續找 1 四周沒有 1 之後,逐層返回到上一層找四周剩餘的 1 本題不需要回溯 直接把 訪問過的標記即可 廣度優先...
200 島嶼數量
給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向和 或豎直方向上相鄰的陸地連線形成。此外,你可以假設該網格的四條邊均被水包圍。示例 1 輸入 grid 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0...