查詢“劃棍子”遊戲獲勝者名稱的 C++ 程式


假設我們有兩個數字 n 和 k。阿瑪爾和比馬爾正在玩一個遊戲。規則很簡單。阿瑪爾在一行中畫 n 根棍子。之後,玩家輪流從左或右劃掉恰好 k 根棍子。阿瑪爾開始遊戲。如果在某次輪到某人時紙上剩餘的棍子少於 k 根,則遊戲結束。如果阿瑪爾比比馬爾多走,則阿瑪爾獲勝。我們必須找出誰會獲勝。

因此,如果輸入類似於 n = 10;k = 4,則輸出將為比馬爾。因為阿瑪爾劃掉了 4 根棍子,然後比馬爾劃掉了 4 根棍子,最後只剩下 2 根棍子了。阿瑪爾不能移動。玩家進行相同的移動次數,因此阿瑪爾沒有獲勝。

步驟

為解決這個問題,我們將遵循以下步驟 -

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

示例

讓我們看以下實現,以獲得更好的理解 -

#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;
}

輸入

10, 4

輸出

Bimal

更新日期:2022-03-04

203 次瀏覽

開啟您的 職業

完成課程即可獲得認證

開始
廣告
© . All rights reserved.