Pi: Difference between revisions

Content added Content deleted
imported>Lacika7
No edit summary
imported>Lacika7
mNo edit summary
Line 877: Line 877:
150 FOR J=1 TO LN
150 FOR J=1 TO LN
160 LET A(J-1)=2
160 LET A(J-1)=2
170 NEXT
170 NEXT
180 FOR J=1 TO N
180 FOR J=1 TO N
190 LET Q=0
190 LET Q=0
Line 884: Line 884:
220 LET A(I-1)=X-(2*I-1)*INT(X/(2*I-1))
220 LET A(I-1)=X-(2*I-1)*INT(X/(2*I-1))
230 LET Q=INT(X/(2*I-1))
230 LET Q=INT(X/(2*I-1))
240 NEXT
240 NEXT
250 LET A(0)=Q-10*INT(Q/10)
250 LET A(0)=Q-10*INT(Q/10)
260 LET Q=INT(Q/10)
260 LET Q=INT(Q/10)
270 IF Q=9 THEN
270 SELECT CASE Q
280 LET N9=N9+1
280 CASE 9
290 ELSE
290 LET N9=N9+1
300 IF Q=10 THEN
300 CASE 10
310 LET D=PD+1:CALL WRITE
310 LET D=PD+1:CALL WRITE
320 IF N9>0 THEN
320 IF N9>0 THEN
330 FOR K=1 TO N9
330 FOR K=1 TO N9
340 LET D=0:CALL WRITE
340 LET D=0:CALL WRITE
350 NEXT
350 NEXT
360 END IF
360 END IF
370 LET PD,N9=0
370 LET PD,N9=0
380 ELSE
380 CASE ELSE
390 LET D=PD:CALL WRITE
390 LET D=PD:CALL WRITE
400 LET PD=Q
400 LET PD=Q
410 IF N9<>0 THEN
410 IF N9<>0 THEN
420 FOR K=1 TO N9
420 FOR K=1 TO N9
430 LET D=9:CALL WRITE
430 LET D=9:CALL WRITE
440 NEXT
440 NEXT
450 LET N9=0
450 LET N9=0
460 END IF
460 END IF
470 END IF
470 END SELECT
480 END IF
480 NEXT
490 NEXT
490 PRINT STR$(PD)(1)
500 END
500 PRINT STR$(PD)(1)
510 END
510 DEF WRITE
520 DEF WRITE
520 IF ND=0 THEN
530 IF ND=0 THEN
530 PRINT STR$(D)(1);
540 PRINT STR$(D)(1);
540 ELSE IF D<>0 THEN
550 ELSE IF D<>0 THEN
550 PRINT STR$(D)(1);".";
560 PRINT STR$(D)(1);".";
560 LET ND=0
570 LET ND=0
570 END IF
580 END IF
580 END DEF</syntaxhighlight>
590 END DEF </syntaxhighlight>


==={{header|MSX Basic}}===
==={{header|MSX Basic}}===