(defun fortunecookie ()
(princ "名前または学籍番号を入力:")
(let* ((id (read-line))
(date-str (format nil "~4,'0d~2,'0d~2,'0d"
(+ 1900 (nth 5 (decode-universal-time (get-universal-time))))
(nth 4 (decode-universal-time (get-universal-time)))
(nth 3 (decode-universal-time (get-universal-time)))))
(combined (concatenate 'string id date-str))
(seed (reduce #'+ (map 'list #'char-code combined)))
(result (nth (mod seed 5)
'("大吉!挑戦を続けよう"
"中吉!今日は集中の日"
"小吉!まずは一歩"
"吉!粘り勝ちを目指そう"
"凶…でも明日がある!"))))
;; 出力を明示的に返すように
(princ (format nil "結果(~A):~A~%" date-str result))))
KGRlZnVuIGZvcnR1bmVjb29raWUgKCkKICAocHJpbmMgIuWQjeWJjeOBvuOBn+OBr+WtpuexjeeVquWPt+OCkuWFpeWKm++8miIpCiAgKGxldCogKChpZCAocmVhZC1saW5lKSkKICAgICAgICAgKGRhdGUtc3RyIChmb3JtYXQgbmlsICJ+NCwnMGR+MiwnMGR+MiwnMGQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICgrIDE5MDAgKG50aCA1IChkZWNvZGUtdW5pdmVyc2FsLXRpbWUgKGdldC11bml2ZXJzYWwtdGltZSkpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgKG50aCA0IChkZWNvZGUtdW5pdmVyc2FsLXRpbWUgKGdldC11bml2ZXJzYWwtdGltZSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAobnRoIDMgKGRlY29kZS11bml2ZXJzYWwtdGltZSAoZ2V0LXVuaXZlcnNhbC10aW1lKSkpKSkKICAgICAgICAgKGNvbWJpbmVkIChjb25jYXRlbmF0ZSAnc3RyaW5nIGlkIGRhdGUtc3RyKSkKICAgICAgICAgKHNlZWQgKHJlZHVjZSAjJysgKG1hcCAnbGlzdCAjJ2NoYXItY29kZSBjb21iaW5lZCkpKQogICAgICAgICAocmVzdWx0IChudGggKG1vZCBzZWVkIDUpCiAgICAgICAgICAgICAgICAgICAgICAnKCLlpKflkInvvIHmjJHmiKbjgpLntprjgZHjgojjgYYiCiAgICAgICAgICAgICAgICAgICAgICAgICLkuK3lkInvvIHku4rml6Xjga/pm4bkuK3jga7ml6UiCiAgICAgICAgICAgICAgICAgICAgICAgICLlsI/lkInvvIHjgb7jgZrjga/kuIDmrakiCiAgICAgICAgICAgICAgICAgICAgICAgICLlkInvvIHnspjjgorli53jgaHjgpLnm67mjIfjgZ3jgYYiCiAgICAgICAgICAgICAgICAgICAgICAgICLlh7bigKbjgafjgoLmmI7ml6XjgYzjgYLjgovvvIEiKSkpKQogICAgOzsg5Ye65Yqb44KS5piO56S655qE44Gr6L+U44GZ44KI44GG44GrCiAgICAocHJpbmMgKGZvcm1hdCBuaWwgIue1kOaenO+8iH5B77yJ77yafkF+JSIgZGF0ZS1zdHIgcmVzdWx0KSkpKQo=