FUNCTION PrimeQ(n) ! 素数判定 1 : 素数、 0 : 素数でない LET PrimeQ=0 IF n<2 OR n<>INT(n) THEN EXIT FUNCTION IF MOD(n,2)=0 THEN IF n=2 THEN LET PrimeQ=1 ELSE LET k=3 DO WHILE k*k<=n ! 3〜√n の奇数のみで検証する IF MOD(n,k)=0 THEN EXIT FUNCTION LET k=k+2 LOOP LET PrimeQ=1 END IF END FUNCTION PRINT PRINT "素数階段を作ります。" INPUT PROMPT "42までの自然数? ":n PRINT DIM X(n),Y(n),Z(n) LET B=0 LET C=0 LET D=1 FOR i=2 TO n LET C=C+1 LET B=B+1 IF PrimeQ(i)=1 THEN LET D=D+1 LET X(D)=i LET Y(D)=C LET Z(D-1)=B LET B=0 GOTO 10 END IF 10 NEXT i DEF S$=" " FOR i=1 TO Y(D) PRINT S$; NEXT i FOR k=X(D) TO n PRINT USING "###":k; NEXT k PRINT FOR j=D-1 TO 2 STEP -1 FOR i=1 TO Y(j) PRINT S$; NEXT i FOR i=0 TO Z(j)-1 PRINT using"###":X(j)+i; NEXT i PRINT NEXT j PRINT " 1" PRINT END