Giả sử chúng ta có một chuỗi S và một số X. Có M người chơi khác nhau tung xúc xắc. một người chơi tiếp tục tung xúc xắc cho đến khi anh ta nhận được một số khác X. Ở đây trong chuỗi S, S [i] đại diện cho số ở lần tung xúc xắc thứ i. Chúng ta phải tìm giá trị của M. Một hạn chế là ký tự cuối cùng trong S sẽ không bao giờ là X. Vì vậy, ví dụ, nếu chuỗi là “3662123” và X =6, đầu ra sẽ là 5. Điều này có thể được mô tả như sau -
- Trình phát đầu tiên cuộn và nhận được 3
- Trình phát thứ hai cuộn và có 6, 6 và 2
- Người chơi thứ ba cuộn và có 1 người chơi
- Người chơi thứ tư cuộn và có 2 người
- Người chơi thứ năm cuộn và có 3 người
Nhiệm vụ rất đơn giản, chúng tôi sẽ duyệt qua chuỗi và đếm số ký tự không phải là X, số lượng sẽ là câu trả lời.
Ví dụ
#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); }
Đầu ra
Number of players: 5