C# :: Aufgabe #184 :: Lösung #2

4 Lösungen Lösungen öffentlich
#184

Wurzel ziehen mit Intervallschachtelung

Anfänger - C# von Felix - 11.07.2017 um 21:30 Uhr
Schreibe eine Methode die aus einer Zahl die Wurzel zieht, benutze dafür die Intervallschachtelung.
#2
vote_ok
von hollst (13980 Punkte) - 14.07.2017 um 10:20 Uhr
Quellcode ausblenden C#-Code
using System;
using static System.Console;

namespace wurzel_184    {

    public static class Program    {

        static void Main()        {
          
            double zahl = 70.12345678;
            ("wurzel(" + zahl.ToString() + ") = " + zahl.wurzel(20).ToString()).EndMessage();

            zahl = 0.12345678;
            ("wurzel(" + zahl.ToString() + ") = " + zahl.wurzel(20).ToString()).EndMessage();

            zahl = 4.0;
            ("wurzel(" + zahl.ToString() + ") = " + zahl.wurzel(20).ToString()).EndMessage();

            zahl = -4.0;
            ("wurzel(" + zahl.ToString() + ") = " + zahl.wurzel(20).ToString()).EndMessage();

        }

        static double wurzel(this double zahl, int nachkommastellen)    {

            if (zahl < 0.0)
                return double.NaN;

            double 
                delta = 1.0, 
                start = 0.0, 
                merker = start, 
                grenze = 1.0 / Math.Pow(10.0, nachkommastellen);

            do            {

                while(start * start < zahl) {
                    merker = start;
                    start += delta;
                };

                start = merker;
                delta /= 10.0;

            } while ((grenze < delta) && (delta > 1.0E-15)); 
                       
            return start;
        }

        static void EndMessage(this string s)
        { WriteLine(s); ReadKey(true); }
    }    
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2103723

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.