查找“划棍子”游戏获胜者名称的 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 次浏览

开启您的 职业

完成课程即可获得认证

开始
广告