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:
Damit kann man für ein beliebiges n und a die Folge a,a,a,a,... n-Stellen ausgeben2.) 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.