Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में nth Hermite संख्या ज्ञात कीजिए

इस समस्या में, हमें एक पूर्णांक मान N दिया जाता है। हमारा कार्य nth Hermite संख्या खोजने के लिए एक प्रोग्राम बनाना है।

हर्माइट नंबर 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)!!

(एन -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++ में अंकगणित संख्या

    अंकगणितीय संख्या एक ऐसी संख्या है जिसमें सभी धनात्मक भाजक का औसत एक पूर्णांक होता है अर्थात संख्या n के लिए यदि भाजक की संख्या भाजक के योग को विभाजित कर सकती है तो n एक अंकगणितीय संख्या है। आइए अवधारणा को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं, Input : n = 6 Output : YES Explanation : Divisor

  1. C++ में परिमेय संख्या का LCM ज्ञात कीजिए

    यहां हम देखेंगे कि परिमेय संख्याओं का एलसीएम कैसे ज्ञात करें। हमारे पास परिमेय संख्याओं की एक सूची है। मान लीजिए सूची {2/7, 3/14, 5/3} जैसी है, तो एलसीएम 30/1 होगा। इस समस्या को हल करने के लिए, हमें सभी अंशों के एलसीएम की गणना करनी होगी, फिर सभी हरों की जीसीडी, फिर परिमेय संख्याओं का एलसीएम, जैसा ह

  1. C++ में CHAR_BIT

    CHAR_BIT चार में बिट्स की संख्या है। इसे C++ भाषा में “limits.h” हेडर फाइल में घोषित किया गया है। यह 8-बिट प्रति बाइट का होता है। यहाँ C++ भाषा में CHAR_BIT का एक उदाहरण दिया गया है, उदाहरण #include <bits/stdc++.h> using namespace std; int main() {    int x = 28;    int a