結果

問題 No.18 うーさー暗号
ユーザー ichibanshiboriichibanshibori
提出日時 2017-05-03 18:39:46
言語 OCaml
(5.1.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 495 bytes
コンパイル時間 55 ms
コンパイル使用メモリ 16,896 KB
最終ジャッジ日時 2024-11-14 20:00:20
合計ジャッジ時間 456 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
File "Main.ml", line 10, characters 6-18:
10 |       rs.[i] <- rc;
           ^^^^^^^^^^^^
Error: Syntax error: strings are immutable, there is no assignment syntax for them.
Hint: Mutable sequences of bytes are available in the Bytes module.
Hint: Did you mean to use 'Bytes.set'?

ソースコード

diff #

let string_mapi f s =
  let len_s = String.length s in
  let rs = String.make len_s '\000' in
  let rec string_mapi' i =
    if i >= len_s then
      ()
    else (
      let c = s.[i] in
      let rc = f i c in
      rs.[i] <- rc;
      string_mapi' (i + 1))
  in
  string_mapi' 0;
  rs



let solve s =
  s
  |> string_mapi (fun i c ->
    let ic = int_of_char c in
    let ui = ic - i - 91 in
    char_of_int ((ui mod 26) + 90))

let () =
  let s = read_line () in
  solve s
  |> print_endline
0