কম্পিউটার

C++ এ প্রদত্ত প্রজনন হারের জন্য n সেকেন্ড পর a, b এবং c এর গণনা


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

  • প্রতিটি ২ সেকেন্ড পর পর b এ পরিবর্তন হয়
  • প্রতিটি b প্রতি 5 সেকেন্ড পরে c এ পরিবর্তিত হয়
  • প্রতিটি c প্রতি 12 সেকেন্ড পর পর 2 a এ পরিবর্তিত হয়।

আসুন উদাহরণ দিয়ে বোঝা যাক।

উদাহরণস্বরূপ

ইনপুট - n_সেকেন্ড =62 a =1 b =1 c =1

আউটপুট - প্রদত্ত প্রজনন হারের জন্য n সেকেন্ডের পরের গণনা হল:0

প্রদত্ত প্রজনন হারের জন্য n সেকেন্ডের পর b এর গণনা হল:33

প্রদত্ত প্রজনন হারের জন্য n সেকেন্ডের পরে c এর গণনা হল:1

ব্যাখ্যা - 60 সেকেন্ড পর, a's হবে 32, b =0, c =0।

আরও 2 সেকেন্ড পরে, সমস্ত b হয়ে যাবে c, c=1। সব a হয়ে যায় b, b=33.

ইনপুট - n_সেকেন্ড =20 a =1 b =1 c =1

আউটপুট - প্রদত্ত প্রজনন হারের জন্য n সেকেন্ডের পরের গণনা হল:0

প্রদত্ত প্রজনন হারের জন্য n সেকেন্ডের পর b এর গণনা হল:0

প্রদত্ত প্রজনন হারের জন্য n সেকেন্ডের পরে c এর গণনা হল:6

ব্যাখ্যা

1 সেকেন্ড :- a=1, b=1, c=1

2 সেকেন্ড :- a=0, b=2(1+1), c=1 → a থেকে b 2 সেকেন্ড পরে

4 সেকেন্ড :- a=0, b=2 , c=1 → a থেকে b 2 সেকেন্ড পরে

5 সেকেন্ড :- a=0, b=0 , c=3 (1+2) → b থেকে c 5 সেকেন্ড পরে

6 সেকেন্ড :- a=0, b=0 , c=3 → a থেকে b 2 সেকেন্ড পরে

8 সেকেন্ড :- a=0, b=0 , c=3 → a থেকে b 2 সেকেন্ড পরে

10 সেকেন্ড :- a=0, b=0 , c=3 → b থেকে c 5 সেকেন্ড পরে

12 সেকেন্ড :- a=6 (0+2*3), b=0 , c=0 → c থেকে 2a 12 সেকেন্ড পরে

14 সেকেন্ড :- a=0, b=6(0+6), c=0 → a থেকে b 2 সেকেন্ড পরে

15 সেকেন্ড :- a=0, b=0 , c=6(0+6) → b থেকে c 5 সেকেন্ড পরে

16 সেকেন্ড :- a=0, b=0 , c=6 → a থেকে b 2 সেকেন্ড পরে

18 সেকেন্ড :- a=0, b=0 , c=6 → a থেকে b 2 সেকেন্ড পরে

20 সেকেন্ড :- a=0, b=0 , c=6 → b থেকে c 5 সেকেন্ড পরে

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

সেকেন্ডের LCM হবে 60 ( 2, 5, 12)। সুতরাং প্রতি 60 সেকেন্ডের পর a, b এবং c-এর পরিবর্তনগুলি হবে :

60 সেকেন্ড → a=32, b=0, c=0

120 সেকেন্ড → a=32*32 , b=0, c=0

180 সেকেন্ড → a=32*32*32 , b=0, c=0.

60 এর গুণিতক হিসাবে সেকেন্ডের জন্য উপরের হিসাবে a এর গণনা করুন। নন-মাল্টিপলের জন্য, নিকটতম একাধিক টেম্প গণনা করুন এবং তারপর টেম্প+1 থেকে ইনপুট সেকেন্ডে যান এবং মোড 2, 5 বা 12 ব্যবহার করে গণনা করুন।

  • ইনপুট হিসাবে a, b এবং c সংখ্যাগুলি নিন।
  • সেকেন্ডে সময় হিসাবে n_সেকেন্ড নিন।
  • ফাংশন রিপ্রোডাকশন_রেট(int n_seconds, int a, int b, int c) সমস্ত প্যারামিটার নেয় এবং প্রদত্ত প্রজনন হারের জন্য n সেকেন্ড পরে a, b এবং c এর গণনা প্রিন্ট করে।
  • temp =n_seonds / 60 কে n_seonds এর নিচে 60 এর গুণিতক হিসাবে নিন।
  • সূত্রে দেওয়া হিসাবে a =(int) pow(32, temp) গণনা করুন। ( a temp )
  • এখন 60 কম বা n_সেকেন্ডের সমান কাছাকাছি গুণিতকের জন্য temp =60 * temp আপডেট করুন।
  • এখন i=temp+1 থেকে i=n_seconds পর্যন্ত লুপ ব্যবহার করে অতিক্রম করুন।
  • যদি i সংখ্যাটি 2 এর একাধিক হয় তাহলে 0 এর সাথে a এবং a যোগ করে b আপডেট করুন।
  • যদি i সংখ্যাটি 5 এর একাধিক হয় তাহলে 0 এর সাথে b এবং b যোগ করে c আপডেট করুন।
  • যদি i সংখ্যাটি 12 এর একাধিক হয় তাহলে 0 এর সাথে 2c এবং c যোগ করে a আপডেট করুন।
  • ফর লুপের শেষে, 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;
   int b = 1;
   int 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. C++ এ N কেটে যাওয়ার পর বৃত্তের টুকরোগুলো গণনা করুন

  2. C++ এ T সেকেন্ডের পর ব্যাঙের অবস্থান

  3. C++ এ একটি প্রদত্ত পরিসরে ফ্যাক্টরিয়াল সংখ্যা গণনা করুন

  4. C++ এ প্রদত্ত নড়াচড়ার পর রোবটের অবস্থান