OPTION ARITHMETIC decimal_HIGH 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 "フェルマーの小定理" PRINT INPUT PROMPT "50までの自然数? ":n PRINT FOR i=2 TO n FOR j=i+1 TO n IF MOD(i,j)=0 THEN GOTO 10 IF PrimeQ(j)=0 THEN GOTO 10 LET X=i^(j-1) LET Y=MOD(X,j) PRINT " ";i;"^ (";j;"− 1 ) を";j;"で割ると ";INT(X/j);" 余り";Y 10 NEXT j NEXT i PRINT END