这是一个经典的排列组合问题。首先,我们需要确定每本书的最初位置。根据题目描述,每本书都不在它最初的位置,所以每本书有 n-1 种选择。\n\n接下来,我们需要确定每本书的新位置。根据题目描述,书架上原本有若干本书,所以每本书都有 n 种选择。\n\n因此,总的摆放方式种数为 (n-1)^n。\n\n下面是C++的实现代码:\n\ncpp\n#include <iostream>\n#include <cmath>\nusing namespace std;\n\nint main() {\n int n;\n cin >> n;\n int ways = pow(n-1, n);\n cout << ways << endl;\n return 0;\n}\n\n\n运行这段代码,输入样例中的值5,输出结果为44。


原文地址: https://www.cveoy.top/t/topic/pWXC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录