তিনটি নম্বর 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।
- যদি i%2==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