Исходный вопрос:
nicka_startcev: Какое наименьшее общее кратное у 6 и 7.2 ?
Реализация на C++, обсуждение double:
udpn: Дробная арифметика
Реализация на OCaml, чисто для разминки/отвлечения:
Репка тут.
Реализация на C++, обсуждение double:
Реализация на OCaml, чисто для разминки/отвлечения:
open Cd_All;
open Num;
open Num_as_int;
value t = tnum
;
value rec gcd x y =
if t#eq y zero
then x
else gcd y (mod_num x y)
;
value lcm x y = x * y / (gcd x y)
;
value main () =
let (a, b) = Tuple2.monomap num_of_string ("6", "72/10") in
Printf.printf "(lcm %s %s) = %s\n%!"
(t#show a)
(t#show b)
(t#show & lcm a b)
;
value () = main ()
;$ ./main.byte (lcm 6 36/5) = 36
Репка тут.