Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
45
Task/Pi/Integer-BASIC/pi.basic
Normal file
45
Task/Pi/Integer-BASIC/pi.basic
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
10 REM PI CALCULATION WITH SPIGOT
|
||||
100 N=100: REM MAX N=260 TO AVOID OVERFLOW
|
||||
110 LEN=(10*N)/3
|
||||
120 J=0:K=0:Q=0:NINES=0:PREDIGIT=0
|
||||
125 DIM A(LEN)
|
||||
130 REM VARIABLES FOR THE SUB
|
||||
140 RESULT=0:I=0:X=0
|
||||
200 REM MAIN
|
||||
210 FOR J=1 TO LEN:A(J)=2: NEXT J
|
||||
220 REM START WITH 222...
|
||||
230 NINES=0
|
||||
240 PREDIGIT=0
|
||||
250 REM FIRST PREDIGIT =0
|
||||
260 FOR J=1 TO N
|
||||
270 I=N-J: GOSUB 1000:Q=RESULT
|
||||
275 A(1)=Q MOD 10
|
||||
280 Q=Q/10
|
||||
290 IF Q=9 THEN NINES=NINES+1
|
||||
300 IF Q=10 THEN GOSUB 800
|
||||
310 IF (Q<>9) AND (Q<>10) THEN GOSUB 900
|
||||
320 NEXT J
|
||||
330 PRINT PREDIGIT
|
||||
340 END
|
||||
800 PRINT PREDIGIT+1;
|
||||
805 IF NINES=0 THEN GOTO 820
|
||||
810 FOR K=1 TO NINES: PRINT 0;: NEXT K
|
||||
820 PREDIGIT=0:NINES=0
|
||||
830 RETURN
|
||||
900 PRINT PREDIGIT;
|
||||
910 PREDIGIT=Q
|
||||
920 IF NINES<>0 THEN GOSUB 950
|
||||
930 RETURN
|
||||
950 FOR K=1 TO NINES: PRINT 9;: NEXT K
|
||||
960 NINES=0
|
||||
970 RETURN
|
||||
1000 I=I*10/3+16
|
||||
1010 IF I>LEN THEN I=LEN
|
||||
1020 RESULT=0
|
||||
1030 REM REPEAT
|
||||
1040 X=10*A(I)+RESULT*I
|
||||
1050 RESULT=X/(2*I-1)
|
||||
1060 A(I)=X MOD (2*I-1)
|
||||
1070 I=I-1
|
||||
1080 IF I>0 THEN GOTO 1040
|
||||
1090 RETURN
|
||||
Loading…
Add table
Add a link
Reference in a new issue