C程式 藍橋 演算法提高 排列數

2021-09-09 08:48:30 字數 835 閱讀 4030

問題描述

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

012、021、102、120、201、210

輸入乙個數n

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

輸入格式

一行,包含乙個整數n

輸出格式

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

樣例輸入

樣例輸出

資料規模和約定

0 < n <= 10!

分析next_permutation函式執行過程:

假設數列 d1,d2,d3,d4……

範圍由[first,last)標記,呼叫next_permutation使數列逐次增大,這個遞增過程按照字典序。例如,在字母表中,abcd的下一單詞排列為abdc,但是,有一關鍵點,如何確定這個下一排列為字典序中的next,而不是next->next->next……

若當前呼叫排列到達最大字典序,比如dcba,就返回false,同時重新設定該排列為最小字典序。

返回為true表示生成下一排列成功。

C程式 藍橋 演算法提高 逆序排列

問題描述 編寫乙個程式,讀入一組整數 不超過20個 並把它們儲存在乙個整型陣列中。當使用者輸入0時,表示輸入結束。然後程式將把這個陣列中的值按逆序重新存放,並列印出來。例如 假設使用者輸入了一組資料 7 19 5 6 2 0,那麼程式將會把前五個有效資料儲存在乙個陣列中,即7 19 5 6 2,然後...

藍橋杯演算法提高 排列數

原題 演算法提高 排列數 時間限制 1.0s 記憶體限制 256.0mb 問題描述 0 1 2三個數字的全排列有六種,按照字母序排列如下 012 021 102 120 201 210 輸入乙個數n 求0 9十個數的全排列中的第n個 第1個為0123456789 輸入格式 一行,包含乙個整數n 輸出...

演算法提高 排列數

時間限制 1.0s 記憶體限制 256.0mb 提交此題 問題描述 0 1 2三個數字的全排列有六種,按照字母序排列如下 012 021 102 120 201 210 輸入乙個數n 求0 9十個數的全排列中的第n個 第1個為0123456789 輸入格式 一行,包含乙個整數n 輸出格式 一行,包含...