Rekursive Folge



  • Guten Tag,

    ich sitze vor dem Problem: eine Folge, die folgendermaßen aufgebaut seien soll: (Bsp a=6: 6,6,6,6 für n=4 ) ist rekursiv zu implementieren.

    Folgendes habe ich bisher gemacht:
    1.) Folgende allgemeine Formel gefunden:
    a9(10n1)\dfrac{a}{9}(10^n-1)
    Damit kann man für ein beliebiges n und a die Folge a,a,a,a,... n-Stellen ausgeben

    2.) habe dann 10^n rekursiv implementiert und dann später "regulär" die Formel ausgebeben.

    So sieht es dann aus:

    int main(){ 
    
    	int pot(int n){ 
    
    		if(n == 0) 
    		     return 1; 
    
    		else 
    		     return (pot(n-1)*10);
    	} 
    
    		int a;
    		int n;
    		int b;
    		b=(pot(n)/9-1/9)*a;
    		 printf("Die Folge lautet: %d\n",b);
    
    	}
    

    Wobei a und n natürlich abgefragt werden.
    Allerdings ist mir dies nicht zu "rekursiv" genug. Am besten wollte ich einfach die ganze Formel rekursiv berechnen, allerdings habe ich das nicht hinbekommen?

    Oder gibt es vielleicht einen ganz anderen Ansatz?

    Vielen Dank,

    ipnix



  • Du willst als eine Zahl haben und nicht einfach nur die Ziffern auf dem Bildschirm?

    Ich weiß nicht mit welchem Compiler dein Beispiel da läuft, aber Standardgemäß ist es nicht.

    1/9 ist übrigens 0 (Ganzzahldivision)

    unsigned long pot(int n, int a)
    { if (n)
        return pot(n-1,a) * 10 + a;
      else
        return 0;
    }
    ....
    printf("%lu\n", pot(4,6));
    


  • Hahaha
    wasn das für eine komische Folge 😕
    Das kannst du auch einfacher haben:

    int main ( void ) 
    {
    	int a = '6', n = 4, i;
    	for ( i = 0; i < n; i++ )
    		putchar ( a );
    	return 0;
    }
    

    😃



  • Achso, rekuriv soll das sein.

    void funny_recursive_sequence_simplified ( int a, int n )
    {
    	n ? funny_recursive_sequence ( a, n-1 ), putchar ( a ): 0;
    }
    
    int main ( void ) 
    {
    	int a = '6', n = 4, i;
    	funny_recursive_sequence_simplified ( a, 4 );
    	return 0;
    }
    

    😃 🤡



  • Ein Folge von Zahlen auf den Bildschirm ausgeben, ist verschieden von einer mathematischen Folge.


Anmelden zum Antworten