- 526 名前:デフォルトの名無しさん mailto:sage [2010/12/19(日) 06:12:51 ]
- ja.wikipedia.org/wiki/Guarded_Horn_Clauses
# 以下の指示に従い、エラストテネスのふるいを使い素数生成を行うプログラムを書きなさい。 # # エラストテネスの篩を実行すると、整数生成と篩の2つのプロセスが生成される。 # 整数生成は指定最大値までの自然数のストリームを生成し、篩はそれをふるいにかけ # 素数のストリームを素数ストリームに返す。 # 整数生成と篩とはそれぞれ並行して動き、整数生成で生成された自然数のストリームは # 引数の変数を介して順次篩に渡される。 # プロセス間の同期は、ストリームの各要素が具体化されるまで待つ、という形で自然に表現される。 # # 整数生成、篩の各プログラムはそれぞれ以下のようになる。 # 整数生成は、自然数のストリームを順次生成し指定最大値を超えたら終了する。 # 篩は、2,3,5,7,..などの各素数の倍数をストリームから取り除く"ふるい"を順に # 生成しながら、求まった素数を順次ストリームの要素として返す。 # 各"ふるい"は変数を介して直列につながれていくため、自然数のストリームから素数のみの # ストリームを求めることができる。 # # 注意.. 漢字の"篩"とかなの"ふるい"を使い分けている。
|

|