Finden Sie die Pell-Nummer mit C++

WBOY
Freigeben: 2023-08-30 18:09:06
nach vorne
879 Leute haben es durchsucht

Finden Sie die Pell-Nummer mit C++

In der gegebenen Aufgabe erhalten wir eine ganze Zahl n und müssen Pnfinden, was die Zaubernummer an dieser Position ist. Nun, wie wir wissen, ist eine Schreibzahl Teil einer Folge, die durch die folgende Formel gegeben wird: Pn= 2*Pn-1+ Pn-2

Die ersten beiden Startnummern – P0= 0 und P1= 1

Methodenlösung finden

Jetzt werden wir dieses Problem mit zwei Methoden lösen: Rekursion und Iteration.

Rekursive Methode

In dieser Formel wenden wir die Formel Pell Number rekursiv an und führen n Iterationen durch.

Beispiel

#include  using namespace std; int pell(int n) { if(n <= 2) return n; return 2*pell(n-1) + pell(n-2); } int main() { int n = 6; // given n cout << pell(n) <<"\n"; // Pell number at that position. return 0; }
Nach dem Login kopieren

Ausgabe

70
Nach dem Login kopieren
Nach dem Login kopieren

Erklärung des obigen Codes

In diesem Ansatz verwenden wir die Rekursion, indem wir pell(n-1) && pell(n-2) aufrufen, bis n kleiner oder gleich 2 ist, weil We wissen, dass die geschriebenen Zahlen bis 2 mit der angegebenen Zahl übereinstimmen. Die Gesamtzeitkomplexität des obigen Programms beträgtO(N), wobei N die angegebene Zahl ist.

Iterative Methode

Bei dieser Methode verwenden wir dieselbe Formel wie oben, verwenden jedoch eine for-Schleife anstelle einer rekursiven Funktion, um die Zahl zu berechnen.

Beispiel

#include  using namespace std; int main() { int n = 6; // given n. int p0 = 0; // initial value of pn-2. int p1 = 1; // initial value of pn-1. int pn; // our answer. if(n <= 2) // if n <= 2 we print n. cout << n <<"\n"; else { for(int i = 2; i <= n; i++) { // we are going to find from the second number till n. pn = 2*p1 + p0; p0 = p1; // pn-1 becomes pn-2 for new i. p1 = pn; // pn becomes pn-1 for new i. } cout << pn << "\n"; } return 0; }
Nach dem Login kopieren

Ausgabe

70
Nach dem Login kopieren
Nach dem Login kopieren

Erklärung des obigen Codes

Im angegebenen Programm durchlaufen wir von 2 nach n und aktualisieren einfach den Wert von pn-2 auf pn-1, pn-1 Der Wert wird auf aktualisiert pn, bis n erreicht ist.

Fazit

In diesem Artikel haben wir das Problem gelöst, die N-te Zaubernummer mithilfe von Rekursion und Iteration zu finden. Wir haben auch ein C++-Programm zur Lösung dieses Problems und einen vollständigen Weg zur Lösung dieses Problems (normal und effizient) gelernt. Wir können das gleiche Programm in anderen Sprachen wie C, Java, Python und anderen Sprachen schreiben.

Das obige ist der detaillierte Inhalt vonFinden Sie die Pell-Nummer mit C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!