Ich muss eine Funktion, die jede "starke" Ganzzahl zwischen 1 und n druckt. Diese Ganzzahlen verifizieren, dass die Summe der Faktoren jeder ihrer Ziffern gleich ist. Zum Beispiel:
145 weil 1! + 4! + 5! = 145.Starke Zahlen in C#
Bisher, was ich tat:
public static long Fac(long n)
{
var i = 1;
for (; n > 1; n--)
{
i *= (int) n;
}
return i;
}
public static bool IsStrong(int n)
{
var i = 1;
var sum = 0;
while (n > 0)
{
i = n % 10;
sum += (int)Fac(i);
n = n/10;
}
if (sum == n)
return true;
else
return false;
}
public static void Print_Strong(int n)
{
if (IsStrong(n))
Console.Write("{0} is STRONG! -W", n);
else
Console.Write("{0} is not strong. -w", n);
}
Wenn ich es laufen, lässt es nie die Schleife.
n> = 0? Es wird nie weniger als Null sein. Aber warum nicht den Debugger benutzen? Du wirst viel lernen. – Steve