查找在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