題目描述
某人寫了n封信,同時為每一封信寫1個信封,共n個信封。如果把所有的信都裝錯了信封,問共有多少種?(這是組合數學中有名的錯位問題。著名數學家伯努利(Bernoulli)曾最先考慮此題。后來,歐拉對此題產生了興趣,稱此題是“組合理論的一個妙題”,獨立地解出了此題)
試編程求出完全裝錯情形的所有方式及其總量s。例如,輸入n=3,即有3封信需要裝入信封,完全裝錯的一種方式可以表示為312,表示第1封信裝入第3個信封,第2封信裝入第1個信封,第3封信裝入第2個信封。對于n=3,完全裝錯的方式共有2種,分別是312和231.
輸入
輸入一個正整數n(2<=n<=6)
輸出
輸出完全裝錯情形的所有方式以及裝錯方式的總量s (每行輸出5種方式,一行中的相鄰兩種方式之間用1個空格隔開。裝錯方式輸出時,從小到大排列,見輸出樣例)。
樣例輸入
4
樣例輸出
2143 2341 2413 3142 3412
3421 4123 4312 4321
s=9
標簽:
編程
代碼
上傳時間:
2020-11-30
上傳用戶: