Computer >> Máy Tính >  >> Lập trình >> C ++

Số lần di chuyển cần thiết để đoán một hoán vị trong C ++

Cho một số N, chúng ta cần tìm các bước di chuyển cần thiết để đoán hoán vị trong trường hợp xấu nhất. Số lần di chuyển cần thiết để đoán hoán vị sẽ là n !. Hãy lấy một ví dụ.

Đầu vào

5

Đầu ra

129

Khi chúng ta có 5 yếu tố, thì chúng ta có 5 cách để đoán và 4 cách khi chúng ta có 4 yếu tố và nó liên tục cho đến 1.

Thuật toán

  • Khởi tạo số n.
  • Số lần khởi tạo là 1.
  • Viết một vòng lặp lặp lại từ 1 đến n.
    • Nhân số đếm với số hiện tại.
  • Trả lại số lượng.

Thực hiện

Sau đây là cách thực hiện thuật toán trên trong 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;
}

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

129