pta題目集 輸出全排列 (20 分)

2021-09-11 18:55:29 字數 579 閱讀 1850

7-38 輸出全排列 (20 分)

請編寫程式輸出前n個正整數的全排列(n<10),並通過9個測試用例(即n從1到9)觀察n逐步增大時程式的執行時間。

輸入給出正整數n(<10)。

輸出1到n的全排列。每種排列佔一行,數字間無空格。排列的輸出順序為字典序,即序列a​1​​,a​2​​,⋯,a​n​​排在序列b​1​​,b​2​​,⋯,b​n​​之前,如果存在k使得a​1​​=b​1​​,⋯,a​k​​=b​k​​並且 a​k+1​​​​​解析:此題最簡單的方法就是利用c++裡面stl裡的全排列函式來寫。需要注意的是,輸出的第一行要優先cout出來,因為全排列函式不包含原本的第乙個。(可以考慮使用do while函式)。正確**如下:

#include

using namespace std;

int a[20];  //存放1到n的一串數字

void f(int b,int n)         

cout

cout

}

PTA教輔 輸出全排列 20分

5 23 輸出全排列 20分 請編寫程式輸出前nn n個正整數的全排列 n 10n 10 n 10 並通過9個測試用例 即nn n從1到9 觀察nn n逐步增大時程式的執行時間。輸入給出正整數nn n 10 10 10 輸出1到nn n的全排列。每種排列佔一行,數字間無空格。排列的輸出順序為字典序,...

7 14 輸出全排列(20 分)

請編寫程式輸出前 n個正整數的全排列 0 並通過9個測試用例 即 n從1到9 觀察 n逐步增大時程式的執行時間。輸入給出正整數 n 輸出1到 n的全排列。每種排列佔一行,數字間無空格。排列的輸出順序為字典序,即序列a 1 a 2 a n 排在序列b 1 b 2 b n 之前,如果存在 k使得,並且 ...

7 58 輸出全排列 20分

宣告乙個模板,虛擬型別名為t 抒抒說的博文 template class type void perm type list,int k,int m permutation else inline void swap type a,type b c 中的 inline 用法 菜鳥教程 通過交換,容易不...