Generieren Sie Fibonacci-Zahlen in C++
-
C++ Verwenden Sie die iterative Methode, um die ersten
n
Elemente in der Fibonacci-Sequenz zu drucken -
C++ Verwenden Sie die iterative Methode, um das
n
-te Element in der Fibonacci-Sequenz zu drucken
Dieser Artikel zeigt verschiedene Methoden zum Generieren von Fibonacci-Zahlen in C++.
C++ Verwenden Sie die iterative Methode, um die ersten n
Elemente in der Fibonacci-Sequenz zu drucken
Fibonacci-Zahlen sind in der Mathematik allgemein als eine Folge von Zahlen bekannt, wobei jedes Element die Summe der beiden vorhergehenden ist, beginnend mit 0
und 1
. In diesem Beispielcode nehmen wir die Benutzereingabe als Ganzzahl n
und generieren die ersten n
Zahlen in der Fibonacci-Sequenz. Die Lösung ist einfach iterativ, wobei wir die Startwerte initialisieren und n-3
Mal iterieren, um die vorherigen Werte zu summieren. Bei jeder Iteration wird die Summe in den Stream cout
gedruckt, und gespeicherte Werte werden um ein Zahlenfenster verschoben. Beachten Sie, dass die Bedingung if
implementiert ist, die nach der Eingabe-Ganzzahl - 0
sucht und den entsprechenden Wert druckt. Die erste cout
-Anweisung behandelt den Fall, wenn n
gleich 2
ist, da die for
-Schleifenbedingung als falsch ausgewertet wird und nicht fortgesetzt wird.
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
using std::string;
void generateFibonacci(unsigned long long n) {
if (n == 1) {
cout << 0 << endl;
return;
}
unsigned long long a = 0;
unsigned long long b = 1;
unsigned long long c;
cout << a << " " << b;
for (unsigned long long i = 3; i <= n; i++) {
c = a + b;
cout << " " << c;
a = b;
b = c;
}
}
int main() {
unsigned long long num;
cout << "Enter the number of items to generate Fibonacci series: ";
cin >> num;
generateFibonacci(num);
return EXIT_SUCCESS;
}
Ausgabe:
Enter the number of items to generate Fibonacci series: 10
0 1 1 2 3 5 8 13 21 34
C++ Verwenden Sie die iterative Methode, um das n
-te Element in der Fibonacci-Sequenz zu drucken
Alternativ können wir eine Funktion implementieren, die die n
-te Zahl in der Fibonacci-Sequenz zurückgibt. Beachten Sie, dass wir Benutzereingaben in unsigned long long
speichern, da wir die größten Zahlen ausgeben möchten, die von integrierten C++-Typen gespeichert werden können. Die Funktion beginnt mit der Anweisung if-else
, um nach den ersten drei Fällen zu suchen und fest codierte Werte zurückzugeben. Wenn andererseits n
größer als 3
ist, fahren wir mit dem Schleifenblock fort und iterieren, bis wir die n
-te Zahl in der Sequenz erhalten.
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
using std::string;
unsigned long long generateFibonacci(unsigned long long n) {
if (n == 1) {
return 0;
} else if (n == 2 || n == 3) {
return 1;
}
unsigned long long a = 1;
unsigned long long b = 1;
unsigned long long c;
for (unsigned long long i = 3; i < n; i++) {
c = a + b;
a = b;
b = c;
}
return c;
}
int main() {
unsigned long long num;
cout << "Enter the n-th number in Fibonacci series: ";
cin >> num;
cout << generateFibonacci(num);
cout << endl;
return EXIT_SUCCESS;
}
Ausgabe:
Enter the n-th number in Fibonacci series: 10
34
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook