在 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP