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

示例

让我们看以下实现,以获得更好的理解 -

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

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

输入

10, 4

输出

Bimal

更新日期:2022-03-04

203 次浏览

开启您的 职业

完成课程即可获得认证

开始
广告