Schon mal vielen Dank für Deine Idee. Grund genug, dass ich mich mal mit Haskell auseinandersetze ;-)
Wenn du einen guten Einstieg suchst, kann ich dir http://learnyouahaskell.com/ wärmstens empfehlen.
Was ich aber noch nicht ganz verinnerlicht habe:
Welche Teiler müssen denn definitionsgemäß dabei sein?Eins
gehört also immer dazu, die Zahl selber nicht (sonst wäre die Summe ja doppelt so hoch). Aber alle anderen ganzzahligen positiven Teiler gehören nicht unbedingt dazu?!
Die deutsche Wikipedia definiert die Funktion σ*(n) als Summe aller (positiven) Teiler von n, ausgenommen n, und die Funktion σ(n) als Summe aller (positiven) Teiler inklusive n. Dann kann man die vollkommen Zahlen entweder als { n ∈ ℕ | σ*(n) = n } oder als { n ∈ ℕ | σ(n) = 2n } definieren. Meine Implementierung stützt sich auf die erste Definition.