FB18 - Das Forum für Informatik

fb18.de / Bachelorstudieng / PM Praktische Informatik

SE 3 Blatt 9 Krypto-Arithmetik

SE 3 Blatt 9 Krypto-Arithmetik 2007-01-21 21:06
Anonymer User
Moin!
Ein paar Fragen zum Krypto-Arithmetik-Rätsel:
1. Sollen wir ein allgemeines Programm schreiben oder nur auf send+more=money
bezogen?
2. Ist es mit (amb) lösbar?
3. wenn ich mit der funktion eine Ziffer zurückgeben will:
(define waehleZiffer
(lambda ()
(amb 0 1 2 3 4 5 6 7 8 9)))
gibt sie mir immer die 0 zurück. Warum?

Re: SE 3 Blatt 9 Krypto-Arithmetik 2007-01-21 21:07
Anonymer User
P.S.: Die Aufgabenstellung weist natürlich auf backtracking hin, das hört sich aber noch aufwendiger an als amb….

Re: SE 3 Blatt 9 Krypto-Arithmetik 2007-01-21 21:18
enco
Du hast hier kein amb-assert spezifiziert.

(define zahl
(let ((a (amb 1 2 3 4 5 6 7 8 9 0)))
(amb-assert ( > a 0))
a))

würde z.B. eine Zahl liefern, die größer 0 ist. Das wird in diesem Fall immer die 1 sein :). Wenn du willst, dass immer eine andere Zahl zurückgegeben wird, muss du eine entsprechende Funktion in amb-assert anstelle von (> a 0) einfügen.