কম্পিউটার

C++ এ nম হারমাইট সংখ্যা খুঁজুন


এই সমস্যায়, আমাদের একটি পূর্ণসংখ্যার মান দেওয়া হয়েছে। আমাদের কাজ হল nম হারমাইট সংখ্যা খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা।

হার্মাইট নম্বর একটি সংখ্যা হল হারমাইট সংখ্যার মান যখন 0 আর্গুমেন্ট থাকে।

Nth hermite Number is HN = (-2) * (N - 1) * H(N-2)
The base values are H0 = 1 and H0 = 0.

হারমাইট ক্রম হল −1, 0, -2, 0, 12, 0, -120, 0, 1680, 0….

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

ইনপুট

N = 7

আউটপুট

0

ইনপুট

N = 6

আউটপুট

-120

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

সমস্যার একটি সহজ সমাধান হল হার্মাইট নম্বরের সূত্র ব্যবহার করা। এটি পুনরাবৃত্তি ব্যবহার করে করা হয়, আমরা N th খুঁজে পেতে পারি মেয়াদ।

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

উদাহরণ

#include <iostream>
using namespace std;
int calcNHermiteNumber(int N) {
   if (N == 0)
      return 1;
   if (N % 2 == 1)
      return 0;
   else
      return -2 * (N - 1) * calcNHermiteNumber(N - 2);
}
int main() {
   int N = 10;
   cout<<"The "<<N<<"th hermite Number is "<<calcNHermiteNumber(N);
   return 0;
}

আউটপুট

The 10th hermite Number is -30240

দক্ষ পদ্ধতি

সমস্যা সমাধানের জন্য একটি দক্ষ পন্থা হল সূত্র ব্যবহার করে। আমরা রিকার্সিভ সূত্র ব্যবহার করে সাধারণ সূত্র বের করতে পারি।

এখানে, যদি N-এর মান বিজোড় হয়, হারমাইট সংখ্যা 0।

যদি N-এর মান জোড় হয়, তাহলে সূত্র দ্বারা সংজ্ঞায়িত কিছু মান হবে,

HN = ( (-1)(N/2)) * ( 2(N/2) ) * (N-1)!!

The (N-1)!! সেমি-ফ্যাক্টরিয়াল যা (n-1)*(n-3)*...3*1 হিসাবে গণনা করা হয়।

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

উদাহরণ

#include <iostream>
#include <math.h>
using namespace std;
int calcSemiFact(int n) {
   int factVal = 1;
   for (int i = 1; i <= n; i = i + 2) {
      factVal *= i;
   }
   return factVal;
}
int calcNHermiteNumber(int n) {
   if (n % 2 == 1)
      return 0;
   int HermiteNumber = (pow(2, n / 2)) * calcSemiFact(n - 1);
   if ((n / 2) % 2 == 1)
      HermiteNumber *= -1;
   return HermiteNumber;
}
int main() {
   int N = 10;
   cout<<"The "<<N<<"th hermite Number is "<<calcNHermiteNumber(N);
   return 0;
}

আউটপুট

The 10th hermite Number is -30240

  1. C++ এ অ্যারেতে সবচেয়ে কাছের নম্বর খুঁজুন

  2. C++ এ পাটিগণিত সংখ্যা

  3. C++ এ মূলদ সংখ্যার LCM খুঁজুন

  4. C++ এ CHAR_BIT