31 lines
476 B
Text
31 lines
476 B
Text
PROGRAM "Egyptian division"
|
|
VERSION "0.0000"
|
|
|
|
DECLARE FUNCTION Entry ()
|
|
|
|
FUNCTION Entry ()
|
|
DIM T[32,2]
|
|
A = 580
|
|
B = 34
|
|
I = 1
|
|
T[I,1] = 1
|
|
T[I,2] = B
|
|
DO WHILE T[I,2] < A
|
|
INC I
|
|
T[I,1] = T[I-1,1]*2
|
|
T[I,2] = T[I-1,2]*2
|
|
LOOP
|
|
DEC I
|
|
R = T[I,1]
|
|
S = T[I,2]
|
|
DO WHILE I > 1
|
|
DEC I
|
|
IF T[I,2]+S <= A THEN
|
|
R = R+T[I,1]
|
|
S = S+T[I,2]
|
|
END IF
|
|
LOOP
|
|
PRINT A;" divided by";B;" using Egytian division";
|
|
PRINT " returns";R;" mod(ulus)"; A-S
|
|
END FUNCTION
|
|
END PROGRAM
|