在 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 次瀏覽

開啟你的 職業生涯

完成課程認證

開始
廣告