C# :: Aufgabe #336 :: Lösung #1

3 Lösungen Lösungen öffentlich
#336

Periodenlänge von Stammbrüchen

Fortgeschrittener - C# von JKooP - 01.11.2020 um 09:50 Uhr
Stammbruch nennt man einen Bruch mit einer 1 im Zähler und einer beliebigen natürlichen Zahl im Nenner.
Schreibe eine Methode/Funktion, mit der man die Periodenlänge eines solchen Bruchs berechnen kann.

Beispiele:

1/4 = 0,25 --> Periodenlänge ist 0, da der Bruch abbricht
1/6 = 0,166666… = 0,16 --> Periodenlänge ist 1, da sich nur die Ziffer 6 wiederholt
1/11 = 0,090909… = 0.09 --> Periodenlänge ist 2, da sich die Ziffern 0 und 9 wiederholen

Viel Spaß
#1
vote_ok
von Parrotfly (110 Punkte) - 13.11.2020 um 08:37 Uhr
Quellcode ausblenden C#-Code
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void BnStart_Click(object sender, EventArgs e)
        {
            int zahlerg = 0;
            double zahl1 = Convert.ToInt32(TbZahl.Text);
            double zahl2 = Convert.ToInt32(TbZahl2.Text);

            double erg = zahl1 / zahl2;
            string ergebnis = Convert.ToString(erg);

            int[] check = new int[10];

            for (int i = 3; i < ergebnis.Length - 1; i++)
            {
                if (ergebnis[i] == 0 + 48 && check[0] != 1)
                {
                    zahlerg++;
                    check[0]++;
                }
                else if (ergebnis[i] == 1 + 48 && check[1] != 1)
                {
                    zahlerg++;
                    check[1]++;
                }
                else if (ergebnis[i] == 2 + 48 && check[2] != 1)
                {
                    zahlerg++;
                    check[2]++;
                }
                else if (ergebnis[i] == 3 + 48 && check[3] != 1)
                {
                    zahlerg++;
                    check[3]++;
                }
                else if (ergebnis[i] == 4 + 48 && check[4] != 1)
                {
                    zahlerg++;
                    check[4]++;
                }
                else if (ergebnis[i] == 5 + 48 && check[5] != 1)
                {
                    zahlerg++;
                    check[5]++;
                }
                else if (ergebnis[i] == 6 + 48 && check[6] != 1)
                {
                    zahlerg++;
                    check[6]++;
                }
                else if (ergebnis[i] == 7 + 48 && check[7] != 1)
                {
                    zahlerg++;
                    check[7]++;
                }
                else if (ergebnis[i] == 8 + 48 && check[8] != 1)
                {
                    zahlerg++;
                    check[8]++;
                }
                else if (ergebnis[i] == 9 + 48 && check[9] != 1)
                {
                    zahlerg++;
                    check[9]++;
                }
            }

            LbErg.Text = Convert.ToString(zahlerg);
        }
    }

Kommentare:

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

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