結果

問題 No.637 X: Yet Another FizzBuzz Problem
ユーザー maimai8
提出日時 2019-05-10 11:59:42
言語 OCaml
(5.2.1)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 543 bytes
コンパイル時間 259 ms
コンパイル使用メモリ 21,452 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-09 00:38:25
合計ジャッジ時間 1,402 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

let list_of_string str =
    let l = String.length str in
    let rec iter i lst =
        if i >= l then lst
        else iter (i+1) ((int_of_char str.[i] - 48) :: lst) in
    iter 0 []
let rec f lst = match lst with
    | [] -> 0
    | h :: t ->
        if h mod 3 = 0 && h mod 5 = 0 then 8 + f t
        else if h mod 3 = 0 || h mod 5 = 0 then 4 + f t
        else List.length(list_of_string(string_of_int h)) + f t
let () =
    let lst = Scanf.scanf "%d %d %d %d %d\n" (fun a b c d e -> [a; b; c; d; e]) in
    Printf.printf "%d\n" (f lst)
0