結果

問題 No.2326 Factorial to the Power of Factorial to the...
コンテスト
ユーザー Kitatai
提出日時 2023-05-28 15:57:01
言語 Common Lisp
(sbcl 2.6.3)
コンパイル:
sbclc _filename_
実行:
sbcl --script Main.fasl
結果
RE  
実行時間 -
コード長 587 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 948 ms
コンパイル使用メモリ 29,824 KB
実行使用メモリ 26,368 KB
最終ジャッジ日時 2026-06-02 00:16:03
合計ジャッジ時間 1,567 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 2
other RE * 20
権限があれば一括ダウンロードができます
コンパイルメッセージ
; compiling file "/home/judge/data/code/Main.lisp" (written 02 JUN 2026 12:16:00 AM):

; file: /home/judge/data/code/Main.lisp
; in: DEFUN FACD
;     (SETQ PI (* PP P))
; 
; caught ERROR:
;   PI is a constant and thus can't be set.

;     (GO LOOP)
; 
; note: deleting unreachable code

; file: /home/judge/data/code/Main.lisp
; in: DEFUN SOLVE
;     (RUI F F)
; 
; caught WARNING:
;   undefined variable: COMMON-LISP-USER::F

;     (SETQ F (FACTORIAL N))
; 
; caught WARNING:
;   undefined variable: COMMON-LISP-USER::F
; 
; compilation unit finished
;   Undefined variable:
;     F
;   caught 1 ERROR condition
;   caught 2 WARNING conditions
;   printed 1 note


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

ソースコード

diff #
raw source code

(defun facd (n p)
    (prog (pp count)
        (setq pp p)
        (setq count 0)
        loop
        (if (> pp n) (return count)
            (setq count (mod (+ count (/ (- n (mod n pp)) pp)) 1000000007))
        )
        (setq pi (* pp p))
        (go loop)
    )
)

(defun factorial (n)
    (if (= n 1) 1
        (mod (* n (factorial (- n 1))) 1000000007)
    )
)

(defun rui (n p)
    (if (= n 1) p
        (mod (* p (rui (- n 1) p)) 1000000007)
    )
)

(defun solve (n p)
    (setq f (factorial n))
    (mod (* (facd n p) (rui f f)) 1000000007) 
)

(princ (solve (read) (read)))
0