Egyptian division: Difference between revisions
m
Simplified Prolog code
(Added Prolog Solution) |
m (Simplified Prolog code) |
||
Line 1,690:
{{works with|SWI Prolog}}
<lang prolog>egyptian_divide(Dividend, Divisor, Quotient, Remainder):-
powers2_multiples(Dividend
accumulate(Dividend, Powers, Multiples, 0, Quotient, 0, Acc),
Remainder is Dividend - Acc.
powers2_multiples(Dividend
Multiples = [M|_],
2 *
!.
powers2_multiples(Dividend,
Power2 is 2 * Power,
powers2_multiples(Dividend,
[
accumulate(_, [], [], Ans, Ans, Acc, Acc):-!.
|