(define (proper-divisor? n m)
(eq? (modulo n m) 0))
(define (1..10)
list (iota 10 1))
(define (amount-of-proper-divisors n numbers)
(length (filter (lambda (x) proper-divisor? n x) numbers)))
wie herausgefiltert werden nicht-fach Divisoren? versucht:Wie man die Anzahl der richtigen Teiler zwischen einer Zahl und einer Liste von Zahlen zählt?
(filter (lambda (x) proper-divisor? n x) numbers))
PS.1: fand eine ähnliche Frage: Language Scheme: find the sum of proper divisors , welche Version besser? einen Filter mit einem Prädikat- und Listengenerator oder der Lösung in der verknüpften Frage zusammensetzen?
Verwenden '=' um zwei Zahlen zu vergleichen (nicht 'eq?' was nur für Fixnums funktioniert). – soegaard