Data update
This commit is contained in:
parent
0df55f9f24
commit
aec8ed51b6
1045 changed files with 18889 additions and 2777 deletions
27
Task/Egyptian-division/ANSI-BASIC/egyptian-division.basic
Normal file
27
Task/Egyptian-division/ANSI-BASIC/egyptian-division.basic
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
100 REM Egyptian division
|
||||
110 DIM Table(0 TO 31, 0 TO 1)
|
||||
120 LET Dividend = 580
|
||||
130 LET Divisor = 34
|
||||
140 REM ** Division
|
||||
150 LET I = 0
|
||||
160 LET Table(I, 0) = 1
|
||||
170 LET Table(I, 1) = Divisor
|
||||
180 DO WHILE Table(I, 1) < Dividend
|
||||
190 LET I = I + 1
|
||||
200 LET Table(I, 0) = Table(I - 1, 0) * 2
|
||||
210 LET Table(I, 1) = Table(I - 1, 1) * 2
|
||||
220 LOOP
|
||||
230 LET I = I - 1
|
||||
240 LET Answer = Table(I, 0)
|
||||
250 LET Accumulator = Table(I, 1)
|
||||
260 DO WHILE I > 0
|
||||
270 LET I = I - 1
|
||||
280 IF Table(I, 1) + Accumulator <= Dividend THEN
|
||||
290 LET Answer = Answer + Table(I, 0)
|
||||
300 LET Accumulator = Accumulator + Table(I, 1)
|
||||
310 END IF
|
||||
320 LOOP
|
||||
330 REM ** Results
|
||||
340 PRINT Dividend; "divided by"; Divisor; "using Egytian division";
|
||||
350 PRINT " returns"; Answer; "remainder"; Dividend - Accumulator
|
||||
360 END
|
||||
29
Task/Egyptian-division/Minimal-BASIC/egyptian-division.basic
Normal file
29
Task/Egyptian-division/Minimal-BASIC/egyptian-division.basic
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
10 REM Egyptian division
|
||||
20 DIM T(31,1)
|
||||
30 REM D1 - dividend; D2 - divisor
|
||||
40 LET D1 = 580
|
||||
50 LET D2 = 34
|
||||
60 REM ** Division
|
||||
70 LET I = 0
|
||||
80 LET T(I,0) = 1
|
||||
90 LET T(I,1) = D2
|
||||
100 IF T(I,1) >= D1 THEN 160
|
||||
110 LET I = I+1
|
||||
120 LET T(I,0) = T(I-1,0)*2
|
||||
130 LET T(I,1) = T(I-1,1)*2
|
||||
140 GOTO 100
|
||||
150 REM A - answer; C - accumulator
|
||||
160 LET I = I-1
|
||||
170 LET A = T(I,0)
|
||||
180 LET C = T(I,1)
|
||||
190 IF I <= 0 THEN 250
|
||||
200 LET I = I-1
|
||||
210 IF T(I,1)+C > D1 THEN 190
|
||||
220 LET A = A+T(I,0)
|
||||
230 LET C = C+T(I,1)
|
||||
240 GOTO 190
|
||||
250 REM ** Results
|
||||
260 PRINT D1; "divided by"; D2;
|
||||
270 PRINT "using Egyptian division";
|
||||
280 PRINT " returns"; A; "remainder"; D1-C
|
||||
290 END
|
||||
Loading…
Add table
Add a link
Reference in a new issue