!エラトステネスの篩による素数判定法 DIM Yakusu(100) FOR i=2 TO 100 LET Yakusu(i)=0 NEXT i LET S=0 FOR i=2 TO 100 IF Yakusu(i)=0 THEN LET j=i DO WHILE j<=100 LET Yakusu(j)=i LET S=S+1 PRINT S;":" MAT PRINT Yakusu; LET j=j+i LOOP END IF NEXT i PRINT PRINT "100未満の素数は、次の数たちです。" PRINT " "; LET C=0 FOR i=2 TO 100 IF Yakusu(i)=i THEN LET C=C+1 IF C=10 THEN LET C=0 PRINT END IF PRINT " "; PRINT USING "##":i; END IF NEXT i PRINT PRINT END ##################################################################### PRINT INPUT PROMPT " 2から100までの自然数を入力してください。":N PRINT DIM F(N) LET k=0 FOR i=1 TO N LET F(i)=0 NEXT i FOR i=2 TO N IF F(i)=0 THEN PRINT i; LET k=k+1 FOR j=i*i TO N STEP i LET F(j)=1 NEXT j END IF NEXT i PRINT PRINT PRINT "以上、入力された自然数以下の素数は ";k;"個あります。" END ##################################################################### PRINT INPUT PROMPT " 2から10000までの自然数を入力してください。":N PRINT LET t0=TIME DIM F(N) LET k=0 FOR i=1 TO N LET F(i)=0 NEXT i FOR i=2 TO N IF F(i)=0 THEN LET k=k+1 FOR j=i*i TO N STEP i LET F(j)=1 NEXT j END IF NEXT i PRINT "以上、入力された自然数以下の素数は ";k;"個あります。" PRINT "答えを求めるまでにかかった時間は";TIME-t0;"秒です。" END