Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

นับจำนวนผู้เล่นที่ทอยลูกเต๋าจากลำดับผลลัพธ์ใน C++

มีสตริง S แสดงผลลัพธ์การทอยลูกเต๋า และตัวเลข X ผู้เล่นแต่ละคนทอยต่อเนื่องจนได้ผลลัพธ์ไม่ใช่ X หาจำนวนผู้เล่น (M)

ตัวอย่าง: S = "3662123", X = 6 → ผลลัพธ์ 5 คน

  • คนที่ 1: ทอยได้ 3 (ไม่ใช่ 6 → หยุด)
  • คนที่ 2: ทอยได้ 6, 6, 2 (เจอ 6 สองครั้ง แล้วได้ 2 → หยุด)
  • คนที่ 3: ทอยได้ 1
  • คนที่ 4: ทอยได้ 2
  • คนที่ 5: ทอยได้ 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);
    return 0;
}

ผลลัพธ์

Number of players: 5

เงื่อนไข

ตัวอักษรสุดท้ายของสตริงจะไม่เป็น X เสมอ (รับประกันว่าผู้เล่นคนสุดท้ายหยุดทอยแล้ว)