在 C ++ 中猜测排列所需的移动次数
给定一个数字 N,我们需要找到最坏情况下猜测排列所需的移动次数。猜测排列所需的移动次数即 n!。下面举个例子。
输入
5
输出
129
当我们有 5 个元素时,猜有 5 种方式,当我们有 4 个元素时有 4 种方式,依此类推,直至 1。
算法
- 初始化数 n。
- 将 count 初始化为 1。
- 编写一个从 1 到 n 迭代的循环。
- 使用当前数字对 count 求乘积。
- 返回 count。
实施
以下是 C++ 中上述算法的实施
#include <bits/stdc++.h> using namespace std; int getNumberMoves(int n) { int count = 0; for (int i = 1; i <= n; i++) { count += i * (n - i); } count += n; return count; } int main() { int n = 9; cout << getNumberMoves(n) << endl; return 0; }
输出
如果运行上述代码,则你将获得以下结果。
129
广告