C# :: Aufgabe #60 :: Lösung #9
9 Lösungen

#60
vollkommene Zahl (Mathematisches Problem)
Anfänger - C#
von bibir
- 03.09.2014 um 08:21 Uhr
Man nennt eine natürliche Zahl N "vollkommen", wenn die Summe aller echten Teiler von N gleich N ist.
Zum Beispiel ist 28 eine vollkommene Zahl, da 1 + 2 + 4 + 7 + 14 = 28 ist.
Schreibe ein Programm/Skript, das beliebig oft eine Zahl N (mit 0 < N < 100000) einliest und feststellt, ob N eine vollkommene Zahl ist. Falls ja, soll das Programm N und die zugehörenden echten Teiler ausgeben, andernfalls ist nur N und die Meldung "ERFUELLT DIE BEDINGUNG NICHT" zu drucken.
Zum Beispiel ist 28 eine vollkommene Zahl, da 1 + 2 + 4 + 7 + 14 = 28 ist.
Schreibe ein Programm/Skript, das beliebig oft eine Zahl N (mit 0 < N < 100000) einliest und feststellt, ob N eine vollkommene Zahl ist. Falls ja, soll das Programm N und die zugehörenden echten Teiler ausgeben, andernfalls ist nur N und die Meldung "ERFUELLT DIE BEDINGUNG NICHT" zu drucken.
#9

von stcalvin (970 Punkte)
- 16.05.2018 um 07:45 Uhr

static void VollkommeneZahl(int n) { List<int> echteTeiler = new List<int>(); if (n > 0 && n < 100000) { for (int i = 1; i <= n / 2; i++) { if (n % i == 0) { echteTeiler.Add(i); } } } if (echteTeiler.Sum() == n) { Console.WriteLine($"{n} ist eine vollkommene Zahl."); Console.WriteLine(string.Join(", ", echteTeiler.Select(x => x.ToString()).ToArray())); } else { Console.WriteLine($"{n} ist keine vollkommene Zahl."); } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1