結果
問題 | No.18 うーさー暗号 |
ユーザー |
![]() |
提出日時 | 2024-10-06 02:22:44 |
言語 | Common Lisp (sbcl 2.5.0) |
結果 |
AC
|
実行時間 | 9 ms / 5,000 ms |
コード長 | 1,192 bytes |
コンパイル時間 | 187 ms |
コンパイル使用メモリ | 27,904 KB |
実行使用メモリ | 21,888 KB |
最終ジャッジ日時 | 2024-10-06 02:22:46 |
合計ジャッジ時間 | 1,106 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 13 |
コンパイルメッセージ
; compiling file "/home/judge/data/code/Main.lisp" (written 06 OCT 2024 02:22:44 AM): ; wrote /home/judge/data/code/Main.fasl ; compilation finished in 0:00:00.008
ソースコード
; 1文字ごとにコード属性 c に変換する; i 番目の文字に対して (c - i - 1) % 26; を行い文字に直す(defun main ()(let*((s; map result-type function &rest sequence+; 各 sequence に function を適用し; result-typeにして返す(map; vector (1次元の配列) として返すよう指示'vector; char-code 関数は文字のコード属性を返す; ascii 文字コードでは A = 65, a = 97(lambda (c) (- (char-code c) 65)); 1行文字列入力(read-line))))(loop; length は sequence の要素数を返すfor i below (length s); 変数 c を定義し (aref s i) に更新する; aref 関数は配列にアクセスする関数for c = (aref s i)do; write-char で文字を出力ストリームに出力する(write-char; code-char code; コード属性がcodeの文字を返す(code-char; 1+ i は (+ 1 i)(+ 65 (mod (- c (1+ i)) 26)))))); 出力ストリームに改行を出力する(terpri))(main)