Scanf.scanf "%d" (fun n -> let a = Array.make 192 0 in let rec loop i j = if i < 10 then (a.(j) <- i; loop (i + 1) (j + 1)) else if i < 100 then ( a.(j) <- i / 10; a.(j + 1) <- i mod 10; loop (i + 1) (j + 2) ) else ( a.(j) <- 1 ) in loop 1 2; let b = Array.make 192 0 in let rec loop i carry = if i >= 0 then let c = a.(i) * n + carry in let () = b.(i) <- c mod 10 in loop (i - 1) (c / 10) in loop 191 0; Printf.printf "%d." (b.(0) * 10 + b.(1)); for i = 2 to 191 do Printf.printf "%d" b.(i) done; print_newline () )