কম্পিউটার

সি++ প্রোগ্রাম 1 2 2 4 4 4 4 8 8 8 8 8 8 8 8 8 8 8 ...


এই সমস্যায়, আমাদের একটি পূর্ণসংখ্যা N দেওয়া হয়েছে। আমাদের কাজ হল 1, 2, 2, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 2, 2, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 1, 2, 2, 4, 4, 4, 4, 8, 8, 1, 2, 2, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, ৮, ৮…

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট

N = 7

আউটপুট

4

সমাধান পদ্ধতি

সমস্যা সমাধানের একটি সহজ পদ্ধতি হল nম অবস্থানে শব্দটি খুঁজে পেতে একটি লুপ ব্যবহার করা। শর্তাবলী প্রতিটি পুনরাবৃত্তির পরে দ্বিগুণ করে আপডেট করা হবে। এবং এটিকে কাউন্টার শব্দে যুক্ত করা হচ্ছে।

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

#include <iostream>
using namespace std;
int calcNthTerm(int N) {
   int termCounter = 0, termValue = 1;
   while (termCounter < N) {
      termCounter += k;
      termValue *= 2;
   }
   return termValue / 2;
}
int main() {
   int N = 10;
   cout<<N<<"th term of the series is "<<calcNthTerm(N);
   return 0;
}

আউটপুট

10th term of the series is 8

দক্ষ পদ্ধতি

সমস্যা সমাধানের জন্য একটি কার্যকর পদ্ধতি হল সিরিজের সাধারণ শব্দটি খুঁজে বের করা।

Here, are terms and their last index,
1 -> last index = 1.
2 -> last index = 3.
4 -> last index = 7.
8 -> last index = 15.
.
.
T(N) -> last index = 2*(T(N)) - 1
Also, T(N) is always of a power of 2, i.e. T(N) = 2m
2m lies in the series till the index 2m+1-1.

শব্দটি খুঁজে পেতে আমরা 2 (m) এর মান গণনা করতে পারি - 1 N.

ব্যবহার করে

এটি 2 m করে - 1

2m - 1 < N
So, m < log2(N + 1)

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

#include <iostream>
#include <math.h>
using namespace std;
int calcNthTerm(int N) {
   return ( pow(2, (floor)(log(N + 1) / log(2)) ) ) ;
}
int main() {
   int N = 10;
   cout<<N<<"th term of the series is "<<calcNthTerm(N);
   return 0;
}

আউটপুট

10th term of the series is 8

  1. সি++ এ সিরিজ 3, 12, 29, 54, 87, … এর N-তম পদ খুঁজে বের করার প্রোগ্রাম

  2. সি++ এ সিরিজ 3, 6, 18, 24, … এর N-তম পদ খুঁজে বের করার প্রোগ্রাম

  3. সি++ এ সিরিজ 3 , 5 , 21 , 51 , 95 , … এর N-তম পদ খুঁজে বের করার প্রোগ্রাম

  4. C++ এ প্রদত্ত সিরিজে N-তম শব্দটি খুঁজে বের করার প্রোগ্রাম