====================================================================== template 1.3 -- 雛型(素数判定) -- 2000/ 4/ 3 ====================================================================== 【ここにはプログラムの動作内容を数行で書いて下さい。】  このプログラムは、与えられた正の整数が素数であるかどうかを判定します。 判定できる最大値は 2^31 です。 【この文章は README の雛型です。数学のある分野の研究者がプログラムを 作ることを想定しています。この雛型は、まず template という文字を、本当 のパッケージ名に置換してから書き直して下さい。素数判定を題材に、なんと なくそれらしく書いています。】 【この括弧で囲まれた部分はコメントです。コメントを削除してから配布し て下さい。この段落のように、きっちりと 70 カラムめに改行を挿入するには、 エディタの機能を使えば簡単です。例えば emacs/mule では M-q ([ESC],q を順に押す)を実行するなどします。】 【姉妹雛型の Makefile もどうぞ。パッケージ作りが楽になります。】 ===== 環 境 ===== 開発環境 -------- 【ここには使用コンパイラやOSを書きます。】 gcc 2.6.3 (SUN Solaris2.5.1) + gmp-2.0.2 必要環境 -------- 【使用したコンパイラ特有の機能やライブラリ等を書きます。】 ANSI C の範囲で書いたつもりです。 外部ライブラリとして gmp を使用しています。 http://www.gnu.org/ から入手して下さい。 動作確認済環境 -------------- 【省略可】 cygwin20B (Win95) + gmp 2.0.2 gcc 2.7.2.3 (Vine Linux 1.1) + gmp 2.0 ======== 使用方法 ======== コンパイル ----------  【ソースプログラムを配布するなら記述します。(Unix系)】 template-***.tar.gz を適当なディレクトリで展開します。 % gzip -cd template-***.tar.gz | tar xvf - 環境に合わせて "Makefile" を編集し、'make' を実行します。 % cd template-*** % make これでできた 'template' が実行プログラムです。 インストール ------------  【バイナリファイルを配布するなら記述します。(MS-Win系)】  template-***.zip を適当なディレクトリで展開して下さい。 コマンドライン書式 ------------------ 【絶対必要・プログラムの実行のさせ方を記述します。】 % ./template [-r] [-e] [-g] [-v] [number] 説明 ---- 【プログラムの動かし方についての説明を記述します。】  コマンドラインで number が与えられれば、この数字の素数判定を行います。 コマンドラインで number 与えられなければ、標準入力から数字を読み込みま す。結果は標準出力に出力します。number は正の整数で、2^32 よりも小さな ものを受け付けます。 オプション ---------- -r 判定アルゴリズムを指定します。 √ number 未満の数字で割算を試み、割れなければ素数と 判定します。 ディフォルトでこのアルゴリズムを使います。 -e 判定アルゴリズムを指定します。 エトラステネスのふるいを使います。 -g 判定アルゴリズムを指定します。 gmp にある素数判定ルーチンを使います。 -v 途中経過の情報表示を行います。 環境設定ファイル ----------------  【なければ省略】  "./template.env" というファイルがあれば読み込みます。書式はコマンド ラインオプションと同じですが、1行につき1つのオプションを書くようにし て下さい。また、'#' 以降はコメントと扱います。 入出力データの書式 ------------------  【ネタを思い付かなかったので、省略します。(^^;】 サンプルデータ --------------  【ネタを思い付かなかったので、省略します。(^^;】 ==================== アルゴリズムについて ==================== オプション -r によるアルゴリズムは、√ number 未満の数字で割算を試み、 割れなければ素数と判定します。素数であることを確認するためには O(√number) の計算時間がかかります。 【ここでの説明は長くなるのが普通です。別文書にしても構いません。別にす るなら LaTeX で書くのも1つの方法です。】 ======== 利用条件 ======== 【使用者(特に企業)が、バグによって業務に支障が出たり、特許関連で被 害があった場合に、フリーソフトの作者に損害賠償請求することも考えられま す。従って 1) は重要です。このコメントは **しっかり削除** して下さい。】  このプログラムは○○○○が製作しました。プログラムの著作権を主張しま すが、以下の条件でご利用いただけます。 1)無料・無保証です。バグはないようにしたつもりですが、 一切の責任は負えません。各自の責任においてご使用下さい。 2)再配布は自由に行って下さい。 改造したものの配布は、製作者までご相談下さい。 3)商用利用の際は、事前に製作者までご相談下さい。 バグ等お気づきの点が御座いましたら下記までご連絡下さい。 【この雛型に関しては土村 (tutimura@nn.iij4u.or.jp) までお願いします。】 連絡先 e-mail hogehoge@tokutei.ac.jp 最新版配布場所 http://xxxxxx/program/template/