Hallo zusammen,
ich programmiere gerade mit ASP.NET eine Anwendung, die eine Primfaktorzerlegung durchführt. Um ASP:NET-Anwendungen zu erstellen, wird eine .NET-Programmiersprache benötigt. In meinem Fall ist es C#.
Meine Frage:
Bei manchen Zahlen hört die Schleife nicht auf zu rechnen. In meinem Fall ist immer dann, wenn ich die Zahl 2, 4 8, 9, 16, ... eingebe. Bei den anderen Zahlen klappt die Zerlegung.
Es wäre nett, wenn sich jemand die Schleife anschauen und mir sagen könnte, was ich ändern muss.
Danke im Voraus.
Luca
@page
@{
var zahl = 0;
int teiler = 1;
if (Request.Method == "POST")
{
zahl = Convert.ToInt32(Request.Form["zahl"]);
}
}
<html>
<head>
<meta charset="utf-8" />
<title>Primfakorzerlegung</title>
</head>
<body>
<div style="font-family: Courier">
<h1>Primfaktorzerlegung</h1>
<form action="" method="POST">
Zahl: <input name= "zahl">
<p>
<br>
<input type="submit" value="Primfaktorzerlegung">
</form>
@if (Request.Method == "POST")
{
<nobr>@zahl = </nobr>
}
@{ Console.Write(zahl + " = "); }
@{
do
{
teiler++;
while (zahl % teiler == 0)
{
zahl = zahl / teiler;
<nobr>@teiler * </nobr>
Console.Write((teiler) + "*");
}
}
while ((zahl/teiler != 1) && (zahl%teiler != 0));
}
@{ Console.WriteLine(zahl); }
@if (Request.Method == "POST")
{
@zahl
}
</body>
</html>