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

ค้นหาจำนวนผู้เล่นที่ทอยลูกเต๋าเมื่อให้ลำดับการออกลูกเต๋าใน C++


สมมติว่าเรามีสตริง S และตัวเลข X มีผู้เล่น M ที่แตกต่างกันที่ทอยลูกเต๋า ผู้เล่นคนหนึ่งทอยลูกเต๋าต่อไปจนกว่าเขาจะได้ตัวเลขอื่นที่ไม่ใช่ X ในสตริง S, S[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