funktion mit rekursion berechnen
-
Hallo Leute,
ich versuche eine funktion mit rekursion zu berechnen aber habe ich schwierigkeitF(n)=2*F(n-1)+F(n-2)*F(n-3); wo F(0)= F(1)= F(2) =1
ich habe versucht, aber zu lösung komme ich nicht#include <iostream> using namespace std; int f(int n){ for(int i = 3; i <= n; i++){ f(0) = 1; f(1) = 1; f(2) = 1; return f(n) = 2*f(n-1) + f(n-2)*f(n-3); } } int main(){ cout << f(6); return 0; }
oder so
#include <iostream> using namespace std; int f(int n){ if(n>=0 && n<=2){ return 1; }else { for(int i = 3; i <= n; i++){ f(0) = 1; f(1) = 1; f(2) = 1; return f(n) = 2*f(n-1) + f(n-2)*f(n-3); } } } int main(){ cout << f(6); return 0; }
ihr seid mir wirklich sehr hilfreich und lerne viel durch eure Tipps
danke vielmals
-
nata schrieb:
Hallo Leute,
ich versuche eine funktion mit rekursion zu berechnen aber habe ich schwierigkeitF(n)=2*F(n-1)+F(n-2)*F(n-3); wo F(0)= F(1)= F(2) =1
ich habe versucht, aber zu lösung komme ich nicht#include <iostream> using namespace std; int f(int n){ for(int i = 3; i <= n; i++){ f(0) = 1; f(1) = 1; f(2) = 1; return f(n) = 2*f(n-1) + f(n-2)*f(n-3); } } int main(){ cout << f(6); return 0; }
oder so
#include <iostream> using namespace std; int f(int n){ if(n>=0 && n<=2){ return 1; }else { for(int i = 3; i <= n; i++){ return f(n) = 2*f(n-1) + f(n-2)*f(n-3); } } } int main(){ cout << f(6); return 0; }
ihr seid mir wirklich sehr hilfreich und lerne viel durch eure Tipps
danke vielmals
-
nata schrieb:
return f(n) = 2*f(n-1) + f(n-2)*f(n-3);
Ich tippe mal, der Fehler liegt in dieser Zeile.
-
ich habe auch so versucht
f(n) = 2*f(n-1) + f(n-2)*f(n-3); return f(n);
aber funktioniert nicht. sonst sehe ich keinen fehler da
-
du kannst doch nicht einfach matheformeln 1:1 reinkleistern ?!?
#include <iostream> int f(unsigned int n) { if (n < 3) return 1; return 2 * f(n-1) + f(n-2) * f(n-3); } int main() { std::cout << f(6); }
Und warum fullquotest du dich selbst? lösch das mal!
-
Und warum diese for-Schleife?
-
ich habe mir gedacht wo es F0, F1 und F2 bekannt sind wurde ich dadurch F3 berechnen usw bis Fn, desswegen habe ich in neben return Fn= geschrieben. Ich muss anscheinend besser nochlesen was genau rekursion macht. Auf jedenfall hilft mir sehr eure hilfe und bin ich sehr dankbar
-
nata schrieb:
ich habe mir gedacht wo es F0, F1 und F2 bekannt sind wurde ich dadurch F3 berechnen usw bis Fn, desswegen habe ich in neben return Fn= geschrieben. Ich muss anscheinend besser nochlesen was genau rekursion macht.
Nein.
Dein Problem hat mit Rekursion nicht das geringste zu tun.Du musst mal C++ lernen.
Du kannst nicht einfach *irgendwas* hinschreiben und dann erwarten dass es C++ ist.Back mir mal nen Kuchen Combudda!!!11
Warum geht das nicht?
-
hustbaer schrieb:
nata schrieb:
ich habe mir gedacht wo es F0, F1 und F2 bekannt sind wurde ich dadurch F3 berechnen usw bis Fn, desswegen habe ich in neben return Fn= geschrieben. Ich muss anscheinend besser nochlesen was genau rekursion macht.
Nein.
Dein Problem hat mit Rekursion nicht das geringste zu tun.Du musst mal C++ lernen.
Du kannst nicht einfach *irgendwas* hinschreiben und dann erwarten dass es C++ ist.Back mir mal nen Kuchen Combudda!!!11
Warum geht das nicht?
sehr freundlich