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

Chương trình C ++ để tìm tên người chiến thắng của trò chơi vượt gậy

Giả sử chúng ta có hai số n và k. Amal và Bimal đang chơi một trò chơi. Các quy tắc rất đơn giản. Amal rút n que tính liên tiếp. Sau đó, các người chơi lần lượt gạch bỏ đúng k que tính từ trái hoặc phải trong mỗi lượt. Amal bắt đầu trò chơi. Nếu có ít hơn k que tính trên tờ giấy trước một số lượt, trò chơi kết thúc. Amal thắng nếu anh ta thực hiện nhiều bước di chuyển hơn Bimal. Chúng tôi phải tìm ra ai sẽ là người chiến thắng.

Vì vậy, nếu đầu vào là n =10; k =4, thì kết quả đầu ra sẽ là Bimal. Vì Amal gạch đi 4 que tính, sau đó Bimal gạch đi 4 que tính và sau đó chỉ còn lại 2 que tính. Amal không thể di chuyển. Các cầu thủ thực hiện số lần di chuyển bằng nhau, vì vậy Amal không giành chiến thắng.

Các bước

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

if floor of (n / k) is even, then:
   return "Amal"
return "Bimal"

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#include <bits/stdc++.h>
using namespace std;

string solve(int n, int k) {
   if ((n / k) % 2 != 0) {
      return "Amal";
   }
   return "Bimal";
}
int main() {
   int n = 10;
   int k = 4;
   cout << solve(n, k) << endl;
}

Đầu vào

10, 4

Đầu ra

Bimal