C# :: Aufgabe #60 :: Lösung #4

9 Lösungen Lösungen öffentlich
#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.
#4
2x
vote_ok
von dotLogix (150 Punkte) - 06.01.2015 um 19:05 Uhr
Quellcode ausblenden C#-Code
// ==================================================
// Copyright 2014 (C) , dotLogix
// Author: Alexander Schill <alexander@schillnet.de>.
// ==================================================

namespace VolkommeneZahl {
    #region Using Directives
    using System;
    using System.Collections.ObjectModel;
    using System.Linq;

    #endregion

    internal class Program {
        private static void Main(string[] args) {
            while(true) {
                Console.Write("Zahl eingeben: ");
                var n = int.Parse(Console.ReadLine());
                var collection = new Collection<int>();
                for(var i = 1; i < n; i++)
                    if(n % i == 0)
                        collection.Add(i);
                var sum = collection.Sum();
                Console.WriteLine(sum == n
                    ? string.Join("+", collection) + " = " + n : n + " erfüllt die Bedingung nicht");
            }
        }
    }
}


kurz und funktioniert :D

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben