在 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
廣告