在 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 次檢視

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.