結果

問題 No.2 素因数ゲーム
ユーザー Common LispCommon Lisp
提出日時 2024-10-23 09:47:41
言語 Common Lisp
(sbcl 2.3.8)
結果
AC  
実行時間 10 ms / 5,000 ms
コード長 830 bytes
コンパイル時間 263 ms
コンパイル使用メモリ 33,600 KB
実行使用メモリ 29,988 KB
最終ジャッジ日時 2024-10-23 09:47:43
合計ジャッジ時間 1,798 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 10 ms
25,896 KB
testcase_01 AC 8 ms
28,108 KB
testcase_02 AC 9 ms
25,900 KB
testcase_03 AC 9 ms
25,900 KB
testcase_04 AC 8 ms
26,024 KB
testcase_05 AC 9 ms
29,988 KB
testcase_06 AC 9 ms
25,896 KB
testcase_07 AC 10 ms
25,892 KB
testcase_08 AC 9 ms
25,896 KB
testcase_09 AC 9 ms
25,896 KB
testcase_10 AC 9 ms
27,980 KB
testcase_11 AC 9 ms
25,896 KB
testcase_12 AC 8 ms
25,892 KB
testcase_13 AC 9 ms
27,976 KB
testcase_14 AC 8 ms
25,772 KB
testcase_15 AC 9 ms
29,984 KB
testcase_16 AC 9 ms
27,980 KB
testcase_17 AC 10 ms
29,984 KB
testcase_18 AC 9 ms
27,852 KB
testcase_19 AC 8 ms
25,892 KB
testcase_20 AC 9 ms
26,024 KB
testcase_21 AC 10 ms
29,860 KB
testcase_22 AC 8 ms
26,024 KB
testcase_23 AC 9 ms
27,980 KB
testcase_24 AC 8 ms
25,896 KB
testcase_25 AC 8 ms
25,896 KB
testcase_26 AC 9 ms
27,848 KB
testcase_27 AC 8 ms
25,896 KB
testcase_28 AC 10 ms
29,860 KB
testcase_29 AC 9 ms
27,976 KB
testcase_30 AC 10 ms
25,900 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
; compiling file "/home/judge/data/code/Main.lisp" (written 23 OCT 2024 09:47:41 AM):

; wrote /home/judge/data/code/Main.fasl
; compilation finished in 0:00:00.007

ソースコード

diff #

(defun factorize (n)
  (let ((p 3)
        (f '()))
    (let ((count 0))
      (loop while (and (> n 0) (zerop (mod n 2)))
            do (incf count)
               (setf n (/ n 2)))
      (push (cons 2 count) f))
    (loop while (<= (* p p) n)
          do (let ((count 0))
               (loop while (zerop (mod n p))
                     do (incf count)
                        (setf n (/ n p)))
               (when (> count 0)
                     (push (cons p count) f)))
            (incf p 2))
    (when (> n 1)
          (push (cons n 1) f))
    (nreverse f)))

(defun main (&rest argv)
  (declare (ignorable argv))
  (let* ((n (read)))
    (format t "~a~%" (if (zerop (reduce (lambda (x y) (logxor x (cdr y))) (factorize n) :initial-value 0))
                         "Bob"
                         "Alice"))))

(main)
0