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