Heute ist meine erste Frage auf Stack-Überlauf, danke alle für Antworten (Mein Englisch ist schlecht, sorry).Amicable Zahlen auf C#
Eigentlich arbeite ich im Programm mit ihm zeigen Sie mir freundliche Zahl der 0 von 10000. Programm wiederholen Zahlen verstehe ich nicht, warum nicht gut funktionieren.
Bild:
284 und 220 220 und 284 Wie wiederholen Zahlen löschen?
Beispiel Amicable Numbers:
Divisoren 220 sind 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 und 110: Die Summe beträgt 284 ., und die Summe der Divisoren von 284 (1, 2, 4, 71 und 142), ist gleich 220.
My-Code ist:
class Program
{
static int SumaDivisors(int nombre)
{
int suma;
suma = 0;
for (int contador = 1; contador < nombre; contador++)
{
if (nombre % contador == 0)
{
suma = suma + contador;
}
}
return suma;
}
static void Main(string[] args)
{
Console.WriteLine("Busca els nombres amics entre 0 i 10000");
int numero, suma1, suma2;
for (numero = 1; numero < 10000; numero++)
{
suma1 = SumaDivisors(numero);
suma2 = SumaDivisors(suma1);
if (suma1 != numero && suma2 == numero)
{
Console.WriteLine("Els nombre {0} i {1} són nombres amics", suma1, suma2);
}
}
Console.ReadKey();
}
}
Ich kann nicht imgur während der Arbeit besuchen. Können Sie stattdessen die relevanten Informationen in die Frage kopieren? –
Falls das einem anderen bekannt vorkommt, [das ist Problem # 21 auf Project Euler.] (Https://projecteuler.net/problem=21) –