C# :: Aufgabe #336 :: Lösung #1
3 Lösungen
#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ß
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
von Parrotfly (110 Punkte)
- 13.11.2020 um 08:37 Uhr
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
Seite 1 von 0
1
