農夫約翰的牛總是能夠產出最優質的肋骨。
你可以通過檢視約翰和美國農業部一對一地刻在肋骨上的數字來分辨它們。
約翰可以保證購買他的牛肋骨的消費者們一定可以得到最優質的肋骨。
因為每當從肋骨的右側切下一部分賣給消費者時,剩下的相連的肋骨上的數字始終都能保持是乙個質數。(單詞 prime 作形容詞可以表示優質的,作名詞可以表示質數,這裡一語雙關)
例如,有四個肋骨連在一起,構成質數 7331,當賣掉最右邊一根時,剩下的三個肋骨構成質數 733,再賣掉一根,剩下兩個肋骨構成質數 73,再賣掉一根,最後剩下一根肋骨構成質數 7。
像 7331 這樣的數字我們可以稱之為長度為 4 的超級質數。
現在給定乙個整數 n,請你求出長度為 n 的超級質數有哪些。
數字 1 不是質數。
輸入格式
共一行,包含乙個整數 n。
輸出格式
按照從小到大的順序輸出所有長度為 n 的超級質數。
每個數占一行。
資料範圍
1≤n≤8
樣例
輸入樣例:
4輸出樣例:
2333
2339
2393
2399
2939
3119
3137
3733
3739
3793
3797
5939
7193
7331
7333
7393
(寬搜)
這個題的起點是1位數的質數,就是2,3,5,7,然後1位數以上的質數都是以1,3,7,9結尾的(也就是我們擴充套件的途徑),我們每次擴充套件的時候需要判斷是否合法,也就是當前擴充套件的數是否是質數,最後我們在出隊的時候判斷是不是在我們的數的範圍之中,如果是的,那麼我們輸出,如果大於最大值,那麼我們就跳出。
#includeusing namespace std;
bool is_prime(int x)
int a=;
int main()
} return 0;
}
DFS 特殊的質數肋骨
時間限制 1000ms 記憶體限制 256000kb 題目描述 農民約翰母牛總是產生最好的肋骨。你能通過農民約翰和美國農業部標記在每根肋骨上的數字認出它們。農民約翰確定他賣給買方的是真正的質數肋骨,是因為從右邊開始切下肋骨,每次還剩下的肋骨上的數字都組成乙個質數,舉例來說 7 3 3 1 全部肋骨上...
特殊的質數肋骨 DFS
農民約翰母牛總是產生最好的肋骨。你能通過農民約翰和美國農業部標記在每根肋骨上的數字認出它們。農民約翰確定他賣給買方的是真正的質數肋骨,是因為從右邊開始切下肋骨,每次還剩下的肋骨上的數字都組成乙個質數,舉例來說 7 3 3 1 全部肋骨上的數字 7331是質數 三根肋骨 733是質數 二根肋骨 73 ...
DFS 特殊的質數肋骨
時間限制 1000ms 記憶體限制 256000kb 題目描述 農民約翰母牛總是產生最好的肋骨。你能通過農民約翰和美國農業部標記在每根肋骨上的數字認出它們。農民約翰確定他賣給買方的是真正的質數肋骨,是因為從右邊開始切下肋骨,每次還剩下的肋骨上的數字都組成乙個質數,舉例來說 7 3 3 1 全部肋骨上...