(define (prime-factors n) (let ((root (sqrt n))) (let loop ((p 2)) (cond ((> p root) (list n)) ((= 0 (remainder n p)) (cons p (prime-factors (/ n p)))) (else (loop (+ p 1))))))) ;Value: prime-factors (define (length lst) (if (null? lst) 0 (+ 1 (length (cdr lst))))) ;Value: length (prime-factors 11) ;Value 13: (11) (define (primefacsto n m) (if (< n m) (begin (if (< (length (prime-factors n)) 2) (begin (display "; ")(display n) (display ": ")(display "- prime number -" )) (begin (display "; ")(display n) (display ": ") (display (prime-factors n))) ) (newline) (primefacsto (+ n 1) m) ) #t ) ) (primefacsto 1 1000) ; 1: - prime number - ; 2: - prime number - ; 3: - prime number - ; 4: (2 2) ; 5: - prime number - ; 6: (2 3) ; 7: - prime number - ; 8: (2 2 2) ; 9: (3 3) ; 10: (2 5) ; 11: - prime number - ; 12: (2 2 3) ; 13: - prime number - ; 14: (2 7) ; 15: (3 5) ; 16: (2 2 2 2) ; 17: - prime number - ; 18: (2 3 3) ; 19: - prime number - ; 20: (2 2 5) ; 21: (3 7) ; 22: (2 11) ; 23: - prime number - ; 24: (2 2 2 3) ...
25. März 2019 | mit scheme | scheme | lisp | old data
Startseite | Impressum | Datenschutz