作业: 使用C++ 书架摆放问题 【问题描述】 书架上原本有若干本书,现在需要重新摆放,如果每本书都不在它最初的位置,那么有多少种摆放方式? 输入:一行,一个整数n,表示书的数量(1<=n<=20)。 输出:一行,表示书被完全重置的方式种数。 【样例输入】 5 【样例输出】 44
时间: 2023-04-07 12:03:31 浏览: 218
这是一个数学问题,可以使用排列组合的方法来解决。根据题目描述,每本书都不在它最初的位置,也就是说每本书都有n-1个位置可以放置。因此,第一本书有n-1种放置方式,第二本书有n-2种放置方式,以此类推,最后一本书有1种放置方式。因此,总的摆放方式数为(n-1)×(n-2)×...×1,即(n-1)!。所以,对于输入为5的情况,摆放方式数为4!,即44种。
阅读全文