lvalue required as left operand of assignment



  • Hi Leute,

    das ist die Aufgabestellung
    **Die Folge Fn ist definiert durch die Rekursion

    Fn=2*Fn-1+Fn-2*Fn-3

    mit den Startwerten F0=1, F1=1 und F2=1
    Schreiben Sie eine Funktion, die den Wert Fn an einer beliebigen Position n berechnet**

    mein code

    #include<iostream>
    using namespace std;
    
    int folge  (int n){
    
    	if(n < 3)
    		return 1;
    	else
    		return 2*folge(n-1) + folge(n-2)*folge(n-3);
    }
    
    int main(){
    	folge(0) = 0;
    	folge(1) = 1;
    	folge(2) = 1;
    	int n;
    	cin >> n;
    
    	cout << folge(n) << "\n";
    
    	return 0;
    }
    

    danke Euch


  • Mod

    So funktioniert C++ nicht. Du denkst an eine funktionale Sprache. Du musst die Abbruchbedingungen der Rekursion in der Funktion selber einbauen. Hast du doch auch schon so halb. Wozu dann noch Zeilen 16-18?



  • unsigned long folge(unsigned long n)
    {
        if ( n == 0 ) 
            return 1;
        else if ( n == 1 )
            return 1;
        else if ( n == 2 )
            return 1;
        else
            return 2*folge(n-1) + folge(n-2)*folge(n-3);
    }
    

Anmelden zum Antworten