關於全排列公升降序的一些思考

2021-07-27 19:40:34 字數 1977 閱讀 3493

在練習 《adv-66 演算法提高 阮小二買彩票》問題所求 「組成正整數n的所有位數的全排列,這些排列按公升序輸出,每個排列佔一行。」 此題與  《排列數(輸出0~9的全排列)-演算法提高》中所求問題  「求0~9十個數的全排列中的第n個(第1個為0123456789) 」是一樣的。

此處可以利用  在algorithm裡面中的next_permutation函式(該函式可以自動實現公升序全排列);同樣,prev_permutation()函式與 next_permutation函式相反,實現 降序全排列 。

演算法提高 阮小二買彩票 

問題描述

在同學們的幫助下,阮小二是變的越來越懶了,連算賬都不願意自己親自動手了,每天的工作就是坐在電腦前看自己的銀行賬戶的錢是否有變多。可是一段時間觀察下來,阮小二發現自己賬戶的錢增長好慢啊,碰到節假日的時候連個銅板都沒進,更鬱悶的是這些天分文不進就算了,可恨的是銀行這幾天還有可能「落井下石」(代扣個人所得稅),看著自己賬戶的錢被負增長了,阮小二就有被割肉的感覺(太痛苦了!),這時阮小二最大的願望無疑是以最快的速度日進斗金,可什麼方法能夠日進斗金呢?搶銀行(老本行)?不行,太危險,怕有命搶沒命花;維持現狀?受不了,摟錢太慢了!想來想去,抓破腦袋之後,終於想到了能快速發家致富的法寶----買彩票,不但掙了錢有命花,運氣好的話,可以每天中他個幾百萬的,豈不爽哉!抱著這種想法,阮小二開始了他的買彩票之旅。想法是「好的」(太天真了or 太蠢了),可是又發現自己的數學功底太差,因為不知道數字都有哪些組合排列?那現在就請同學們寫個遞迴程式,幫助阮小二解決一下這個問題吧!

輸入格式

不超過6位數的正整數n,注意:構成正整數n的數字可重複

輸出格式

組成正整數n的所有位數的全排列,這些排列按公升序輸出,每個排列佔一行。

注意:輸出資料中不能有重複的排列

樣例輸入

123樣例輸出

123132

213231

312321

樣例輸入

3121

樣例輸出

1123

1132

1213

1231

1312

1321

2113

2131

2311

3112

3121

3211

樣例輸入

4003

樣例輸出

0034

0043

0304

0340

0403

0430

3004

3040

3400

4003

4030

4300

#include #include using namespace std;

int main() while(next_permutation(s.begin(), s.end()));

return 0;

}

問題描述

0、1、2三個數字的全排列有六種,按照字母序排列如下:

012、021、102、120、201、210

輸入乙個數n

求0~9十個數的全排列中的第n個(第1個為0123456789)。

輸入格式

一行,包含乙個整數n

輸出格式

一行,包含一組10個數字的全排列

樣例輸入

1樣例輸出

0123456789

資料規模和約定

0 < n <= 10!

#include #include using namespace std;

int main()

cnt++;

}while(next_permutation(s.begin(), s.end()));

return 0;

}

關於多尺度排列熵的一些思考

在說明多尺度排列熵之前,我先說以下多尺度,通俗地講多尺度就是對訊號進行不同粒度的取樣,比如有乙個序列x如果對這個序列進行二尺度分析可以將它看作五個平均值組成的序列y,就是對原來的序列進行粗粒化處理,假設進行s尺度分析,原序列長度n除以尺度s得到新序列所包含元素的個數 floor n s 即向下取整。...

關於SpringIOC的一些思考

ioc是 依賴倒置原則 的乙個特例,說其是特例,就是說其具有 依賴倒置原則 的性質。依賴倒置原則強調的兩點是 上層模組和下次模組都依賴於抽象,二者之間通過這種抽象的東西聯絡在一起 具體可以依賴於抽象,而抽象不能依賴於具體。我認為spring提倡的 基於介面程式設計 就是為了遵循 依賴倒置原則 其中所...

關於sizeof 的一些思考

今天面試被問到sizeof,回來整理一下。1 定義 sizeof是c c 中的乙個操作符 operator 作用就是返回乙個物件或者型別所佔的記憶體位元組數。msdn上的解釋為 the sizeof keyword gives the amount of storage,in bytes,assoc...