在 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

更新于:2019-12-17

97 次查看

开启你的职业生涯

完成课程获得认证

开始学习
广告