Zum Inhalt
EntwurfRZ
Aus ProgrammingWiki
Archivierte Version vom 2016-01-21T20:13:10+00:00.
Aktuelle Version
(define gegenstaende (list->vector '("dummy" (13 . 19) (11 . 20) (17 . 23) (15 . 21) (16 . 27) (14 . 25) (18 . 25) (10 . 18) (19 . 24) (12 . 17)))) (define gewicht (lambda(i) (car (vector-ref gegenstaende i)))) (define wert (lambda(i) (cdr (vector-ref gegenstaende i)))) (define vector-copy (lambda (v) (let* ((l (vector-length v)) (v-duplikat (make-vector l))) (do ((i 0 (+ i 1)))((= i l) v-duplikat) (vector-set! v-duplikat i (vector-ref v i)))))) (define gesamtwert-iterativ (lambda(n k) (let ((zeileAlt (make-vector (+ k 1) 0)) (zeileNeu (make-vector (+ k 1) 0))) (do ((z 1 (+ z 1))) ;Zeile ((> z n)(vector-ref zeileNeu k));Resultat (set! zeileAlt (vector-copy zeileNeu)) (let ((gewicht-z (gewicht z))) (do ((s 1 (+ s 1))) ;Spalte ((> s k)) (if (< s gewicht-z) (vector-set! zeileNeu s (vector-ref zeileAlt s)) (vector-set! zeileNeu s (max (vector-ref zeileAlt s) (+ (vector-ref zeileAlt (- s gewicht-z)) (wert z)))))))))))
(gesamtwert-iterativ 10 120);
ausführen
Seite
Quelltext
Versionen/Autoren
Konto registrieren
Anmelden
Navigation
Startseite
Letzte Änderungen
Alle Seiten
Einführungskurs
Hilfe
Dateien
Suche
Suchen
Werkzeuge
Links auf diese Seite
Spezialseiten