在 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

更新于:2021 年 10 月 26 日

98 次浏览

开启你的 职业生涯

完成课程认证

开始
广告