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

প্রতিপাদন রেট অনুযায়ী n সেকেন্ড পর a, b, c এর সংখ্যা (C++)

তিনটি নম্বর a, b, c ইনপুট হিসেবে দেওয়া আছে। লক্ষ্য হল n সেকেন্ড পর a, b, c-এর মান/সংখ্যা বের করা যারা নিচের প্রতিপাদন রেট মেনে চলে:

  • প্রতিটি a প্রতি ২ সেকেন্ড পর b-এ রূপান্তরিত হয়।
  • প্রতিটি b প্রতি ৫ সেকেন্ড পর c-এ রূপান্তরিত হয়।
  • প্রতিটি c প্রতি ১২ সেকেন্ড পর ২টি a-তে রূপান্তরিত হয়।

উদাহরণ দিয়ে বোঝা যাক

উদাহরণ ১

ইনপুট - n_seconds = 62, a = 1, b = 1, c = 1

আউটপুট - a: ০, b: ৩৩, c: ১

ব্যাখ্যা - ৬০ সেকেন্ড পর a=32, b=0, c=0। ২ সেকেন্ড পর সব a→b (b=33), b→c (c=1)।

উদাহরণ ২

ইনপুট - n_seconds = 20, a = 1, b = 1, c = 1

আউটপুট - a: ০, b: ০, c: ৬

ব্যাখ্যা - প্রতিটি সেকেন্ডে পরিবর্তন ট্র্যাক করলে ২০ সেকেন্ড পর a=0, b=0, c=6 পাওয়া যায়।

প্রোগ্রামে ব্যবহৃত পদ্ধতি

২, ৫, ১২-এর LCM = ৬০। তাই প্রতি ৬০ সেকেন্ডে a, b, c-এর পরিবর্তন:

  • ৬০ সেকেন্ড → a=32, b=0, c=0
  • ১২০ সেকেন্ড → a=32×32, b=0, c=0
  • ১৮০ সেকেন্ড → a=32³, b=0, c=0

৬০-এর গুণিতক সেকেন্ডের জন্য উপরের ফর্মুলা ব্যবহার করুন। বাকি সেকেন্ডের জন্য নিকটতম ৬০-এর গুণিতক থেকে ইনপুট সেকেন্ড পর্যন্ত ২, ৫, ১২ দিয়ে মডুলো চেক করুন।

  • a, b, c ইনপুট নিন।
  • n_seconds ইনপুট নিন।
  • ফাংশন reproduction_rate(int n_seconds, int a, int b, int c) ফলাফল প্রিন্ট করে।
  • temp = n_seconds/60 (৬০-এর গুণিতক)।
  • a = pow(32, temp)।
  • temp = 60*temp (নিকটতম ৬০-এর গুণিতক)।
  • i=temp+1 থেকে n_seconds পর্যন্ত লুপ:
    • যদি i%2==0 হয় তবে b += a; a=0।
    • যদি i%5==0 হয় তবে c += b; b=0।
    • যদি i%12==0 হয় তবে a += 2*c; c=0।
  • শেষে a, b, c প্রিন্ট করুন।

উদাহরণ কোড

#include <bits/stdc++.h>
using namespace std;

void reproduction_rate(int n_seconds, int a, int b, int c) {
    int temp = n_seconds / 60;
    a = (int) pow(32, temp);
    temp = 60 * temp;
    for (int i = temp + 1; i <= n_seconds; i++) {
        if (i % 2 == 0) {
            b = b + a;
            a = 0;
        }
        if (i % 5 == 0) {
            c = c + b;
            b = 0;
        }
        if (i % 12 == 0) {
            a = a + (2 * c);
            c = 0;
        }
    }
    cout << "Count of a after n seconds for given reproduction rate is: " << a << "\n";
    cout << "Count of b after n seconds for given reproduction rate is: " << b << "\n";
    cout << "Count of c after n seconds for given reproduction rate is: " << c;
}

int main() {
    int n_seconds = 72;
    int a = 2, b = 1, c = 1;
    reproduction_rate(n_seconds, a, b, c);
    return 0;
}

উপরের কোড রান করলে নিচের আউটপুটটি পাওয়া যাবে:

আউটপুট

Count of a after n seconds for given reproduction rate is: 68
Count of b after n seconds for given reproduction rate is: 0
Count of c after n seconds for given reproduction rate is: 0
  1. N কাটা দিয়ে বৃত্তের টুকরোর সংখ্যা গণনা C++-এ

  2. C++-এ T সেকেন্ড পর একটি মেঢোর অবস্থান

  3. C++-এ নির্দিষ্ট রেঞ্জে ফ্যাক্টোরিয়াল সংখ্যা গণনা

  4. C++-এ দেওয়া মুভমেন্ট অনুযায়ী রোবটের পজিশন