; three homework problems
(define (f a b c)
(if (and (<= a b) (<= a c))
(+ (* b b) (* c c))
(f b c a)))
(display (f 1 2 3)) (newline)
(display (f 2 1 3)) (newline)
(display (f 3 1 2)) (newline)
(display (f 3 3 3)) (newline)
(define (palin? n)
(let loop ((m n) (r 0))
(if (zero? m)
(= r n)
(loop (quotient m 10)
(+ (* 10 r) (remainder m 10))))))
(display (palin? 12345)) (newline)
(display (palin? 12321)) (newline)
(define (tens n)
(let loop ((n n) (z 0))
(if (zero? n) z
(let ((n (quotient n 5)))
(loop n (+ z n))))))
(display (tens 973)) (newline)
OyB0aHJlZSBob21ld29yayBwcm9ibGVtcwoKKGRlZmluZSAoZiBhIGIgYykKICAoaWYgKGFuZCAoPD0gYSBiKSAoPD0gYSBjKSkKICAgICAgKCsgKCogYiBiKSAoKiBjIGMpKQogICAgICAoZiBiIGMgYSkpKQoKKGRpc3BsYXkgKGYgMSAyIDMpKSAobmV3bGluZSkKKGRpc3BsYXkgKGYgMiAxIDMpKSAobmV3bGluZSkKKGRpc3BsYXkgKGYgMyAxIDIpKSAobmV3bGluZSkKKGRpc3BsYXkgKGYgMyAzIDMpKSAobmV3bGluZSkKCihkZWZpbmUgKHBhbGluPyBuKQogIChsZXQgbG9vcCAoKG0gbikgKHIgMCkpCiAgICAoaWYgKHplcm8/IG0pCiAgICAgICAgKD0gciBuKQogICAgICAgIChsb29wIChxdW90aWVudCBtIDEwKQogICAgICAgICAgICAgICgrICgqIDEwIHIpIChyZW1haW5kZXIgbSAxMCkpKSkpKQoKKGRpc3BsYXkgKHBhbGluPyAxMjM0NSkpIChuZXdsaW5lKQooZGlzcGxheSAocGFsaW4/IDEyMzIxKSkgKG5ld2xpbmUpCgooZGVmaW5lICh0ZW5zIG4pCiAgKGxldCBsb29wICgobiBuKSAoeiAwKSkKICAgIChpZiAoemVybz8gbikgegogICAgICAobGV0ICgobiAocXVvdGllbnQgbiA1KSkpCiAgICAgICAgKGxvb3AgbiAoKyB6IG4pKSkpKSkKCihkaXNwbGF5ICh0ZW5zIDk3MykpIChuZXdsaW5lKQ==