{---プログラム掲示板投稿フォーム--- 【ソフト名】素数検索プログラム (バージョン 1.00) 【作 成 者】kobachi (連絡先:kobachi@po4.across.or.jp) 【種 別】フリーソフトウェア 【ひまわりのバージョン】ver.1.00 【転 件】可(転載条件:ご自由に) 【ひまわり本体への梱包】可 【実行時に利用作成するファイル】無 【コメント】指定された数までに存在する素数を求めます。素数とは、1とその数そのもの以外では割り切れない数のことです。例えば4は、4以外の数である2で割り切れてしまうので、素数ではありません。
まったく、味も素っ気もない地味なプログラムです。
C++で作成した同様のプログラムが私のサイト(http://plaza.across.or.jp/~kobachi/)にありますので、そちらと実行速度等、比べてみるのも良いかもしれません。(別途コンパイル作業が必要です。) ---投稿フォームここまで---}
母艦の、タイトルは、「指定値まで素数を検索」。 母艦の、高さは、300。母艦の、幅は、500。 その、リサイズは、オフ。 母艦を、中央へ移動。 表示部を、メモとして、作成。 その、サイズは、(0,0,(母艦の、幅),(母艦の、高さ))。 その、フォント書体は、『MS ゴシック』。 その、フォントサイズは、9。 その、フォント色は、灰色。 その、背景色は、黒色。 その、スクロールバーは、縦。 その、編集は、オフ。 その、キー押した時は、入力。 母艦浮上。
表示バッファは、「」。
*入力 ' 初期変数の定義 非素数フラグ=オフ。検索完了値=3。素数#1=1。素数#2=2。素数#3=3。 「終了数値:(3以上、104727以下)」と、尋ねる。 もし、(それ=「」)かつ、(表示バッファ<>「」)なら、戻る。' 初回はキャンセルできないよ 検索終了値=それ。 検索終了値が、数字か。 もし、それが、いいえなら、入力へ、飛ぶ。 もし、検索終了値が、3以下なら、検索終了値は、3。 もし、検索終了値が、104727以上なら、入力へ、飛ぶ。 表示部の、テキストは、「検索中です。中止するときは、何かキーを押してください。」。 表示部の、キー押した時は、結果表示。 開始時刻は、今。 表示バッファは、「」。
' 素数辞書の作成 xを、4から、検索終了値まで、繰り返す ( iを、2から、検索完了値まで、繰り返す ( ' x が素数で割り切れたら、x は素数ではない。したがって、非素数フラグをオンにする。 もし、(x%素数#i)が、0ならば、非素数フラグは、オン。 )
' 非素数フラグがオフなら、x は素数なので、素数辞書に追加。 もし、非素数フラグが、オフなら、 ( 検索完了値=検索完了値+1。 素数#検索完了値=x。 )
' そして、次の数値のチェックの為に、非素数フラグ を再初期化。 非素数フラグ=オフ;
' キャンセル受付時間を確保 0.001秒、待つ。 )
*結果表示 ' 表示用に素数一覧を整形する iを、1から、検索完了値まで、繰り返す ( もし、iが、検索完了値なら、表示バッファ=表示バッファ&素数#i。 でなければ、 ( もし、(i%10)が、0ならば、表示バッファ=表示バッファ&素数#i&「\n」。 でなければ、表示バッファ=表示バッファ&素数#i&「\t」。 ) ) 終了時刻は、今。 終了時刻と、開始時刻の、秒差。経過時間は、それ。 表示バッファ=表示バッファ&「\n\n{x} 以下の {検索完了値} 個の素数を検索するのに、{経過時間} 秒かかりました。 もう一度検索するときは、何かキーを押してください。」。
' 表示する 表示部の、テキストは、表示バッファ。 表示部の、キー押した時は、入力。 待機。 |