fork download
  1. (defun fortunecookie ()
  2. (princ "名前または学籍番号を入力:")
  3. (let* ((id (read-line))
  4. ;; 現在の日付(YYYYMMDD)を取得して文字列にする
  5. (date-str (format nil "~4,'0d~2,'0d~2,'0d"
  6. (+ 1900 (nth 5 (decode-universal-time (get-universal-time))))
  7. (nth 4 (decode-universal-time (get-universal-time)))
  8. (nth 3 (decode-universal-time (get-universal-time)))))
  9. ;; 入力と日付を結合
  10. (combined (concatenate 'string id date-str))
  11. ;; 合計コードポイントをシードとして使用
  12. (seed (reduce #'+ (map 'list #'char-code combined)))
  13. ;; 結果リスト
  14. (result (nth (mod seed 5)
  15. '("大吉!挑戦を続けよう"
  16. "中吉!今日は集中の日"
  17. "小吉!まずは一歩"
  18. "吉!粘り勝ちを目指そう"
  19. "凶…でも明日がある!"))))
  20. ;; 結果を表示
  21. (format t "結果(~A):~A~%" date-str result)))
  22.  
Success #stdin #stdout #stderr 0.02s 9556KB
stdin
工藤嘉悦
stdout
Standard output is empty
stderr
Warning: reserving address range 0x80000c0000...0x1fffffffffff that contains memory mappings. clisp might crash later!
Memory dump:
  0x8000000000 - 0x80000bffff
  0x14d95da00000 - 0x14d95dce4fff
  0x14d95de00000 - 0x14d95de02fff
  0x14d95de03000 - 0x14d95e001fff
  0x14d95e002000 - 0x14d95e002fff
  0x14d95e003000 - 0x14d95e003fff
  0x14d95e015000 - 0x14d95e039fff
  0x14d95e03a000 - 0x14d95e1acfff
  0x14d95e1ad000 - 0x14d95e1f5fff
  0x14d95e1f6000 - 0x14d95e1f8fff
  0x14d95e1f9000 - 0x14d95e1fbfff
  0x14d95e1fc000 - 0x14d95e1fffff
  0x14d95e200000 - 0x14d95e203fff
  0x14d95e204000 - 0x14d95e403fff
  0x14d95e404000 - 0x14d95e404fff
  0x14d95e405000 - 0x14d95e405fff
  0x14d95e473000 - 0x14d95e474fff
  0x14d95e475000 - 0x14d95e484fff
  0x14d95e485000 - 0x14d95e4b8fff
  0x14d95e4b9000 - 0x14d95e5effff
  0x14d95e5f0000 - 0x14d95e5f0fff
  0x14d95e5f1000 - 0x14d95e5f3fff
  0x14d95e5f4000 - 0x14d95e5f4fff
  0x14d95e5f5000 - 0x14d95e5f6fff
  0x14d95e5f7000 - 0x14d95e5f7fff
  0x14d95e5f8000 - 0x14d95e5f9fff
  0x14d95e5fa000 - 0x14d95e5fafff
  0x14d95e5fb000 - 0x14d95e5fbfff
  0x14d95e5fc000 - 0x14d95e5fcfff
  0x14d95e5fd000 - 0x14d95e60afff
  0x14d95e60b000 - 0x14d95e618fff
  0x14d95e619000 - 0x14d95e625fff
  0x14d95e626000 - 0x14d95e629fff
  0x14d95e62a000 - 0x14d95e62afff
  0x14d95e62b000 - 0x14d95e62bfff
  0x14d95e62c000 - 0x14d95e631fff
  0x14d95e632000 - 0x14d95e633fff
  0x14d95e634000 - 0x14d95e634fff
  0x14d95e635000 - 0x14d95e635fff
  0x14d95e636000 - 0x14d95e636fff
  0x14d95e637000 - 0x14d95e664fff
  0x14d95e665000 - 0x14d95e673fff
  0x14d95e674000 - 0x14d95e719fff
  0x14d95e71a000 - 0x14d95e7b0fff
  0x14d95e7b1000 - 0x14d95e7b1fff
  0x14d95e7b2000 - 0x14d95e7b2fff
  0x14d95e7b3000 - 0x14d95e7c6fff
  0x14d95e7c7000 - 0x14d95e7eefff
  0x14d95e7ef000 - 0x14d95e7f8fff
  0x14d95e7f9000 - 0x14d95e7fafff
  0x14d95e7fb000 - 0x14d95e800fff
  0x14d95e801000 - 0x14d95e803fff
  0x14d95e806000 - 0x14d95e806fff
  0x14d95e807000 - 0x14d95e807fff
  0x14d95e808000 - 0x14d95e808fff
  0x14d95e809000 - 0x14d95e809fff
  0x14d95e80a000 - 0x14d95e80afff
  0x14d95e80b000 - 0x14d95e811fff
  0x14d95e812000 - 0x14d95e814fff
  0x14d95e815000 - 0x14d95e815fff
  0x14d95e816000 - 0x14d95e836fff
  0x14d95e837000 - 0x14d95e83efff
  0x14d95e83f000 - 0x14d95e83ffff
  0x14d95e840000 - 0x14d95e840fff
  0x14d95e841000 - 0x14d95e841fff
  0x562561815000 - 0x562561905fff
  0x562561906000 - 0x562561a0ffff
  0x562561a10000 - 0x562561a6ffff
  0x562561a71000 - 0x562561a9ffff
  0x562561aa0000 - 0x562561ad0fff
  0x562561ad1000 - 0x562561ad4fff
  0x562562cde000 - 0x562562cfefff
  0x7fff1ee92000 - 0x7fff1eeb2fff
  0x7fff1ef55000 - 0x7fff1ef58fff
  0x7fff1ef59000 - 0x7fff1ef5afff