読者です 読者をやめる 読者になる 読者になる

個人的自由ノート

ふと自分が気になった事を書いてます

OCamlで問題を解く

OCaml、ループ処理になってから難しいですね。なかなか詰まってしまいます。今のところ何とか出来てます。もう少し数を解かないと…。

open Printf;;
Random.self_init();;
print_string "数あてゲームを開始!!\n";;
print_string "10~99の数を当ててください。\n";;
let ans = Random.int 90 + 10
let rec main a = print_string "いくつかな : ";
                 let input = read_int() in
                 if input > a then
                   begin
                     print_string "もっと小さな数です。\n";
                     main a
                   end
                 else if input < a then
                   begin
                     print_string "もっと大きな数です。\n";
                     main a
                   end
                 else print_string "正解です。\n";;
main ans;;



open Printf;;
print_string "整数A : ";;
let a = read_int();;
print_string "整数B : ";;
let b = read_int()
let target = if a > b then [b; a] else [a; b]

let rec main min max = printf "%d " min;
                       if min == max then
                         ()
                       else
                         main (min + 1) max;;
                       

main (List.nth target 0) (List.nth target 1);;
print_newline();;