C :: Aufgabe #18

2 Lösungen Lösungen öffentlich

Ausgabe der Fibonacci-Folge

Anfänger - C von Dome - 29.12.2012 um 00:58 Uhr
Schreiben Sie ein Programm, welches die Fibonacci-Folge ausgibt. Zuvor wird abgefragt, wie viele Werte ausgegeben sollen.

Hilfe von Wiki: Fibonacci-Folge

Konsolenausgabe:

Ausgabe der Fibonacci-Folge mit 10 Werten : 0,1,1,2,3,5,8,13,21,34

Lösungen:

vote_ok
von devnull (8870 Punkte) - 07.09.2013 um 20:46 Uhr
Quellcode ausblenden C-Code
/****************************************
 * fibs.c    Fibonacci series
 * usage     ./fibs [n]  (Default n=10)
 * devnull   07-09-2013
 ****************************************/
#include <stdlib.h>
#include <stdio.h>

int main( int argc, char **argv )
{
    unsigned long fn=0L, fnn=1L, fsum;
    int n, max;

    max=(argc>1)?atoi(argv[1]):10;
    if (max > 0) {
		printf("%d ", fn);
		if (max > 1)
			printf("%d ", fnn);
		for (n=2; n<max; n++) {
			fsum = fn + fnn;
			fn = fnn;
			fnn = fsum;
			printf("%lu ", fnn);
		}
	}
	printf("\n");
    return 0;
}
vote_ok
von kathleenw (3600 Punkte) - 09.07.2020 um 10:11 Uhr
Quellcode ausblenden C-Code
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int anzahl,i;
    
    printf("Wieviele Fibonacci Zahlen sollen ausgegeben werden?");
    scanf("%d", &anzahl);
    
    int fibonacci_zahlen[anzahl];
    
    fibonacci_zahlen[0]=1;
    fibonacci_zahlen[1]=1;
    
    if (anzahl<1)
        printf("Die Anzahl muss mindestens 1 sein.\n");
    else
    {
        printf("Das sind die ersten %d Zahlen der Fibonacci Folge: ", anzahl);

        if (anzahl>2)
        {
            for(i=2;i<anzahl;i++)
                fibonacci_zahlen[i] = fibonacci_zahlen[i-1] + fibonacci_zahlen[i-2];
        }
        for(i=0;i<anzahl;i++)
            printf("%d ", fibonacci_zahlen[i]);
        printf("\n");
    }
    
    return EXIT_SUCCESS;
    
}