エラトステネスの篩とその実行結果のファイル出力と実行時間の短縮 五十嵐真人 2008/02/01 15:37:51 └十進BASICにはテキストファイルの内容を視認... 荒田浩二 2008/02/02 17:09:05
Re: エラトステネスの篩とその実行結果のファイル出力と実行時間の短縮 |
返事を書く ノートメニュー |
荒田浩二 <knrztrhoel> 2008/02/02 17:09:05 | |
十進BASICにはテキストファイルの内容を視認したり書き換えたりできるTextWindowという独自の拡張機能があります。
これを利用するとPRINT文よりはるかに早く出力できます。 また、裏技的ですが通常のPRINT文で画面に出力する場合にもテキスト出力画面を閉じると、画面への印字処理の負担がなくなるためか実行時間が短くなります。 あと、プログラムの後半を手を加えました。ごめんなさい。 REM *** エラトステネスのふるい LET t0=TIME OPEN #1 : TextWindow1 ERASE #1 LET N=1000000 DIM A(N) !BASICでは変数や配列の初期値は0なので次の3行は不要 !FOR I=1 TO N ! LET A(I)=0 !NEXT I LET A(1)=1 LET D=2 DO FOR I=D*D TO N STEP D LET A(I)=1 NEXT I DO LET D=D+1 LOOP WHILE A(D)=1 LOOP UNTIL D>SQR(N) FOR I=1 TO N IF A(I)<>1 THEN LET K=K+1 PRINT #1:I; END IF NEXT I CLOSE #1 print time-t0;"sec" END |
└規格上,BASICでは変数や配列の初期値が0で... 白石 和夫 2008/02/02 17:25:58 (修正1回)