C# :: Aufgabe #28

12 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 pocki (4190 Punkte) - 29.12.2012 um 20:24 Uhr
Hier ist meine Lösung:
Quellcode ausblenden C#-Code
void main()
{
	Console.Write("Anzahl der Werte für Fibonacci-Folge: ");
	string input = Console.ReadLine();
	
	int werte = int.Parse(input);
	if (werte < 1)
	{
		Console.WriteLine("Nur positive Zahlen erlaubt!");
		return;
	}
	
	List<int> fib = new List<int>{0,1};
	
	for (int i = 2; i < werte; i++)
	{
		fib.Add(fib[i-1]+fib[i-2]);
	}
	
	Console.WriteLine("Werte: {0}", fib.Take(werte).Aggregate<int, string>(string.Empty, (x, y) => (x.Length > 0 ? x + ", " : x) + y.ToString()));
}
vote_ok
von B.Denger (730 Punkte) - 09.10.2013 um 14:52 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Fibanocci_Folge
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Wieviele Werte der Fibanocci-Folge sollen ausgegeben werden?");
            string eingabe = Console.ReadLine();
            int iEingabe = 1;
            if (Int32.TryParse(eingabe, out iEingabe))
            {
             int[] arr = new int[iEingabe];
                arr[0] = 0;
                arr[1] = 1;
                Console.Write(arr[0] + ", "  + arr[1] + ", ");
                    for (int i = 2; i < iEingabe; i++)
                    {
                        arr[0] = 0;
                        arr[1] = 1;
                        arr[i] = arr[i - 1] + arr[i - 2];
                        Console.Write(arr[i] + ", ");

                    }
                Console.ReadLine();
            }else { Console.WriteLine("Bitte Geben sie nur gültige Zahlen ein"); }
        }
    }
}
vote_ok
von Mexx (2370 Punkte) - 08.05.2014 um 20:06 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Fibonacci_Folge
{
    class Program
    {
        static void Main(string[] args)
        {
            bool result = true;
            int anzahl;
            do
            {
                Console.WriteLine("Geben Sie die Anzahl an, wieweit die Folge errechnet werden soll");

                if (Int32.TryParse(Console.ReadLine(), out anzahl))
                {
                    result = false;
                }
                else
                {
                    Console.WriteLine("keine Ganzzahl eingegeben");
                    result = true;
                }
            }
            while (result);
            long zahl1 = 0, zahl2 = 1, ergebis = 0;
            string ausgabe = "0, 1, ";
            for (int i = 0; i <= anzahl; i++)
            {
                ergebis = zahl1 + zahl2;
                zahl1 = zahl2;
                zahl2 = ergebis;
                ausgabe += ergebis.ToString() + ", ";
            }
            Console.WriteLine(ausgabe);
            Console.ReadLine();
        }
    }
}
vote_ok
von The_Dive (90 Punkte) - 10.05.2014 um 16:43 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            bool wiederhohlung = false;
            do
            {
                Console.WriteLine("Bitte geben sie den Wert ein wie weit die Fibonacci-Folge ausgegeben werden soll.");
                try
                {
                    double input = Convert.ToDouble(Console.ReadLine());
                    wiederhohlung = false;
                    double ersterwert = 1;
                    double zweiterwert = 1;
                    Console.Write("1,1");

                    for(double i = 0; i < input; i++)
                    {
                        double dritterwert = ersterwert + zweiterwert;
                        Console.Write("," + dritterwert);
                        ersterwert = zweiterwert;
                        zweiterwert = dritterwert;
                    }
                }
                catch
                {
                    Console.WriteLine("Error!");
                    wiederhohlung = true;
                }
            } while (wiederhohlung);
            Console.ReadKey();
        }
    }
}
vote_ok
von wladi-g (1310 Punkte) - 03.06.2014 um 11:12 Uhr
Quellcode ausblenden C#-Code
using System;

namespace FibonacciFolge
{
    class Program
    {
        static void Main(string[] args)
        {
            int anzahl = 0;
            ulong vorgänger = 0;
            ulong temp = 0;
            ulong knoten = 1;

            Console.WriteLine("Fibonacci-Folge\nWie viele Werte sollen ausgegeben werden?(Maximum: 100)");
            do
            {
            Console.Write("Anzahl: ");
            }
            while(!Int32.TryParse(Console.ReadLine(), out anzahl));

            Console.Write("Ausgabe der Fibonacci-Folge mit {0} Werten: ", anzahl);
            if (anzahl == 1)
                Console.WriteLine("0");
            else if (anzahl == 2)
                Console.WriteLine("0,1");
            else if (anzahl > 2)
            {
                Console.Write("0,1");
                for (int i = 2; i < anzahl; i++)
                {
                    temp = vorgänger;
                    vorgänger = knoten;
                    knoten += temp;
                    Console.Write(",{0}", knoten);
                }
                Console.Write(".\n");
            }
            else
                Console.WriteLine("Werte < 1 sind für die Anzahl nicht möglich.\nProgrammende");
        }
    }
}
vote_ok
von Torbo (880 Punkte) - 18.05.2015 um 14:41 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Fibonacci
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Bitte geben Sie an, wie viele Werte ausgegeben werden sollen");
            int d = Convert.ToInt32(Console.ReadLine());
            int a = 0;
            int b =1;
            int c = 0;
            for (int i = 0; i < d; i++)
            {
                c = a + b;
                a = b;
                b = c;
                Console.WriteLine(c);
            }
            Console.ReadKey();
        }
    }
}
vote_ok
von Mentalist999 (680 Punkte) - 31.07.2015 um 20:10 Uhr
Quellcode ausblenden C#-Code
        static void Main(string[] args)
        {
            ulong Loops;

            do Console.Write("Gewünschte Länge der Fibonacci-Folge : ");
            while (!UInt64.TryParse(Console.ReadLine(), out Loops));

            for (uint x = 1, y = 0, n = 0; n < Loops; n++, y = x - y)
                Console.WriteLine("{0} \t + {1} \t = {2}", x,  y, x += y);

            Console.WriteLine("Zum verlassen beliebige Taste drücken ...");
            Console.ReadKey();
        }
vote_ok
von niknik (1230 Punkte) - 07.08.2015 um 12:45 Uhr
Kleine Fehlerbehandlung, falls der User zu viele Zahlen will.
Selbst long Variablen sind irgendwann zu klein.

Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication17
{
    class Program
    {

        public static void fib(int n)
        {
            long[] fibbo = new long[n + 1];

            if (n == 0) return;

            fibbo[0] = 1;

            if (n == 1)
            {
                Console.WriteLine("Die Fibbonacci-Folge bis zur {0}. Zahl", n);
                Console.WriteLine();
                Console.WriteLine(fibbo[0]);
                return;
            }

            fibbo[1] = 1;
            
            Console.WriteLine("Die Fibbonacci-Folge bis zur {0}. Zahl", n);
            Console.WriteLine();
            Console.WriteLine(fibbo[0] + "\n" + fibbo[1]);
            for (int i = 2; i < fibbo.Length-1; i++)
            {
                fibbo[i] = fibbo[i - 1] + fibbo[i - 2];
                if (fibbo[i] < 0)
                {
                    Console.WriteLine("Mehr Werte können nicht angezeigt werden. Die Zahlen werden zu groß.");
                    return;
                }
                Console.WriteLine(i + 1 + ".:   " + fibbo[i]);
            }

        }

        static void Main(string[] args)
        {
            int number;
            do
            {
                Console.WriteLine("Wieviele Zahlen der Fibbonacci-Folge berechnen? Maximum: 92");
            } while (!int.TryParse(Console.ReadLine(), out number) || number < 0);
            fib(number);
            Console.ReadLine();
        }
    }
}
vote_ok
von Smarc (60 Punkte) - 18.12.2016 um 14:39 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Console;

namespace Fibonacci_Folge
{
    class Program
    {
        static void Main(string[] args)
        {

            int anzahl;
            long a, b, c;
            a = 1;
            b = 1;
            c = 1;

            WriteLine("Berechnung der Fibonacci Folge");
            WriteLine("Wie viele Stellen sollen angegeben werden?");
            anzahl = Int32.Parse(ReadLine());
            Write("1,1,");

            for(int i = 0; i < anzahl; i++)
            {
                a = b;
                b = c;
                c = a + b;

                Write("{0},", c);
                
            }

            ReadLine();
        }
    }
}
vote_ok
von stbehl (1640 Punkte) - 05.02.2018 um 09:32 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TrainYourProgrammer28
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Wie viele Werte der Fibonacci-Folge sollen ausgegeben werden? ");
            int werte = Convert.ToInt32(Console.ReadLine()), zaehler = 1, wertEins = 1, wertZwei = 1, ergebnis;
            if (werte > 1)
            {
                Console.Write("Ausgabe der Fibonacci-Folge mit {0} Werten: 1, 1, ", werte);
            }
            else
            {
                Console.Write("Ausgabe der Fibonacci-Folge mit {0} Werten: 1, ", werte);
            }

            while (zaehler <= werte)
            {
                ergebnis = wertEins + wertZwei;
                if(zaehler == werte)
                {
                    Console.Write(ergebnis);
                }
                else
                {
                    Console.Write(ergebnis + ", ");
                }
                wertEins = wertZwei;
                wertZwei = ergebnis;
                zaehler++;
            }

            Console.ReadKey();
        }
    }
}
vote_ok
von stcalvin (970 Punkte) - 05.02.2018 um 13:51 Uhr
Quellcode ausblenden C#-Code
        static void Aufgabe_28()
        {
            int anzahl;
            ArrayList fibonacci = new ArrayList();

            fibonacci.Add(0);
            fibonacci.Add(1);
            Console.Write("Wie viele Werte der Fibonacci-Folge sollen ausgegeben werden?    ");
            anzahl = Convert.ToInt16(Console.ReadLine());

            for (int i = 0; i < anzahl; i++)
            {
                if (i != anzahl - 1)
                {
                    Console.Write(fibonacci[i] + ", ");
                }
                else
                {
                    Console.Write(fibonacci[i]);
                }

                fibonacci.Add(Convert.ToInt16(fibonacci[i]) + Convert.ToInt16(fibonacci[i + 1]));
            }
        }
vote_ok
von t.wi (660 Punkte) - 13.06.2019 um 13:00 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace übung_28
{
    class Program
    {
        static void Main(string[] args)
        {
            int fib = 0;
            int e = 1;
            int y = 0;
            int goal = Convert.ToInt32(Console.ReadLine());
            int counter = 0;
            while(counter != goal)                                
            {
                counter++;
                fib = e + y;
                y = e;
                e = fib;
                Console.WriteLine(counter + ".Fibonaccizahl: " + fib);
            }
            Console.ReadLine();
        }
    }
}
2122128

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.