このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1312201995/338
#  急ぎなのですが 
#  1 考えるC 
#  2 整数m(mが2以上)を入力し、m以下の素数を全て表示するプログラムを作れ。 
#  3 環境はlinux gcc C言語です 
#   
#  4期限は今日の夕方まで 
#  5進んだところは 
#  配列はまだやっていません 
#  総合問題みたいらしいです 
#   
#  ぐぐればすぐサンプルがあるらしいのですが、それを使わずにかけといっていました 
#  (簡単にかけるらしいので) 
#   
#  よろしくお願いします 
#   

'整数m(mが2以上)を入力し、m以下の素数を全て表示する' :-
        '整数m(mが2以上)を入力し'(_m),
        'm以下の素数を全て表示する'(_m).

'整数m(mが2以上)を入力し'(_m) :-
        write('整数m(mが2以上)を入力してください : '),
        get_line(Line),
        '整数m(mが2以上)を入力診断'(Line,_m),!.
'整数m(mが2以上)を入力し'(_m) :-
        '整数m(mが2以上)を入力し'(_m).

'整数m(mが2以上)を入力診断'(Line,_m) :-
        atom_to_term(Line,_m,_),
        integer(_m),
        _m >= 2,!.
'整数m(mが2以上)を入力診断'(Line,_m) :-
        writef('入力された %t からは2以上の整数が得られません。再入力をお願いします。\n',[Line]),
        fail.

'm以下の素数を全て表示する'(_m) :-
        for(2,N,_m),
        'Nは素数である'(2,N),
        writef('%t\n',[N]),
        N = _m,!.
'm以下の素数を全て表示する'(_).

'Nは素数である'(N,N) :- !.
'Nは素数である'(M,N) :-
        0 is N mod M,!,
        fail.
'Nは素数である'(M,N) :-
        M2 is M + 1,
        'Nは素数である'(M2,N).