Как можно реализовать rationalize/1
из rational/1
. Предположим, у вас есть рациональные числа в вашей системе Prolog и только rational/1
, как здесь:
[eclipse 3]: X is 1/3, Y is rational(X).
X = 0.33333333333333331
Y = 6004799503160661_18014398509481984
Yes (0.00s cpu)
Как бы вы реализовали rationalize/1
в самом Прологе, реализуйте некоторый алгоритм, чтобы, например, вы могли получить это результат:
[eclipse 4]: X is 1/3, rationalize(X,Y).
X = 0.33333333333333331
Y = 1_3
Yes (0.00s cpu)