কম্পিউটার টিউটোরিয়াল

C++-এ ডাইস (Dice) আউটপুট সিকোয়েন্স দিয়ে কতজন খেলাড় ডাইস রোল করেছে তা নির্ণয়


একটি স্ট্রিং S এবং একটি সংখ্যা X দেওয়া আছে। M জন খেলাড় ডাইস রোল করছে। একজন খেলাড় ডাইস রোল করে চলবে যতক্ষণ না সে X ছাড়া অন্য কোনো সংখ্যা পায়। স্ট্রিং S-এ S[i] উপাদানটি i-তম রোলের সংখ্যা নির্দেশ করে। আমাদের M-এর মান খুঁজে বের করতে হবে। একটি কনস্ট্রেইন্ট (constraint) আছে: S-এর লাস্ট ক্যারেক্টার কখনো X হবে না। উদাহরণস্বরূপ, স্ট্রিং "3662123" এবং X = 6 হলে আউটপুট হবে ৫। এটি নিচের মত ব্যাখ্যা করা যায়:

  • প্রথম খেলাড় রোল করে ৩ পেয়েছে
  • দ্বিতীয় খেলাড় রোল করে, ৬, ৬ এবং ২ পেয়েছে
  • তৃতীয় খেলাড় রোল করে, ১ পেয়েছে
  • চতুর্থ খেলাড় রোল করে, ২ পেয়েছে
  • পঞ্চম খেলাড় রোল করে, ৩ পেয়েছে

কাজটি সহজ: স্ট্রিং ট্রাভার্স করে 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

  1. C++ দিয়ে একটি স্ট্রিংয়ের সাবস্ট্রিং-এর সংখ্যা বের করা

  2. C++ দিয়ে দেওয়া রেঞ্জে যোগফল পাওয়া যাবে এমন সাবঅ্যারে সংখ্যা বের করা

  3. C++-এ প্রদত্ত রেঞ্জের মধ্যে যোগফল वाले সাবঅ্যারে সংখ্যা খুঁজুন

  4. C++-এ দিয়ে गये পয়েন্ট থেকে সম্ভাব্য কোয়াড্রিল্যাটারেল সংখ্যা বের করুন