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

落書きノート

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

OCamlで不定期練習

open Printf;;
print_string "整数を加算します。\n";;
let sum = ref 0
let gn = ref 0
       
let rec group i = if i = 5 then
                    ()
                  else
                    (
                      print_string "整数 : ";
                      gn := read_int();
                      if !gn = 99999 || !gn = 88888 then
                        ()
                      else
                        (
                          sum := !sum + !gn;
                          group (i + 1)
                        )
                    );;

let rec main i = if i = 10 || !gn = 99999 then
                   ()
                 else
                   (
                     printf "■第%dグループ\n" (i + 1);
                     group 0;
                     main (i + 1)
                   );;

main 0;;
printf "合計は%dです。\n" !sum;;




open Printf;;
print_string "数当てゲーム開始!!\n";;
print_string "0~99の数を当ててください。\n";;
Random.self_init();;
let answer = Random.int 100;;

let rec main i = if i = 0 then
                   printf "残念。正解は%dでした。\n" answer
                 else
                   (
                     printf "残り%d回。いくつかな : " i;
                     let y_ans = read_int() in
                     if answer = y_ans then
                       printf "%d回で当たりましたね。\n" (7 - i)
                     else if answer > y_ans then
                       (
                         print_string "もっと大きな数だよ\n";
                         main (i - 1)
                       )
                     else
                       (
                         print_string "もっと小さな数だよ\n";
                         main (i - 1)
                       )
                   );;
main 6;;