結果

問題 No.2326 Factorial to the Power of Factorial to the...
ユーザー Kitatai
提出日時 2023-05-28 15:12:00
言語 Common Lisp
(sbcl 2.5.0)
結果
RE  
実行時間 -
コード長 646 bytes
コンパイル時間 500 ms
コンパイル使用メモリ 27,648 KB
実行使用メモリ 148,352 KB
最終ジャッジ日時 2024-12-27 05:07:03
合計ジャッジ時間 21,385 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other RE * 15 TLE * 5
権限があれば一括ダウンロードができます
コンパイルメッセージ
; compiling file "/home/judge/data/code/Main.lisp" (written 27 DEC 2024 05:06:39 AM):

; file: /home/judge/data/code/Main.lisp
; in: DEFUN FACD
;     (MOD A P)
; 
; caught WARNING:
;   undefined variable: COMMON-LISP-USER::A

;     (* A N)
; 
; caught WARNING:
;   undefined variable: COMMON-LISP-USER::A

;     (SETQ A (* A N))
; 
; caught WARNING:
;   undefined variable: COMMON-LISP-USER::A

; 
; caught WARNING:
;   3 more uses of undefined variable A


; 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 variables:
;     A F
;   caught 6 WARNING conditions

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

ソースコード

diff #

(defun facd (n p) 
    (if (= n 1) 0
        (prog (c)
            (setq a (* a n))
            (setq c 0)
            loop
            (if (not (equal (mod a p) 0)) (return (mod (+ (facd (- n 1) p) c) 1000000007)))
            (setq a (/ a p))
            (setq c (+ c 1))
            (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 a 1)
    (setq f (factorial n))
    (mod (* (facd n p) (rui f f)) 1000000007) 
)

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