在 C++ 中,给定骰子输出序列,找出掷骰子的玩家人数
假设我们有一个字符串 S 和一个数字 X。有 M 个不同的玩家掷骰子。一个玩家不断掷骰子,直到他得到一个与 X 不同的数字。在字符串 S 中,S[i] 代表第 i 次掷骰子的数字。我们必须找到 M 的值。一个约束条件是 S 的最后一个字符永远不会是 X。例如,如果字符串是“3662123”并且 X = 6,则输出将是 5。这可以描述如下:
- 第一个玩家掷骰子得到 3
- 第二个玩家掷骰子,得到 6、6 和 2
- 第三个玩家掷骰子,得到 1
- 第四个玩家掷骰子,得到 2
- 第五个玩家掷骰子,得到 3
任务很简单,我们将遍历字符串,并计算与 X 不同的字符个数,这个个数就是答案。
示例
#include<iostream> using namespace std; int countPlayers(string str, int x) { int count = 0; for (int i = 0; i < str.size(); i++) { if (str[i] - '0' != x) count++; } return count; } int main() { string s = "3662123"; int x = 6; cout << "Number of players: " << countPlayers(s, x); }
输出
Number of players: 5
广告