C# :: Aufgabe #60 :: Lösung #7
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.
#7

von kjaenke (1140 Punkte)
- 07.11.2017 um 09:35 Uhr

namespace Exercise_60 { using System; using System.Collections.Generic; using System.Linq; internal static class Program { private static void Main() { for (var i = 1; i < 100000; i++) { List<int> t = i.FindeTeiler(); if (i == t.Sum() - i) { Console.Write($"{i} | " + "{"); foreach (var teiler in t) { Console.Write($" {teiler} "); } Console.WriteLine("};"); } else { Console.WriteLine($"{i} ERFÜLLT DIE BEDINGUNG NICHT"); } } Console.Read(); } private static List<int> FindeTeiler(this int n) { List<int> teiler = new List<int>(); for (var i = 1; i <= n; i++) { if (n % i == 0) { teiler.Add(i); } } return teiler; } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1