このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1335517816/684
#  【質問テンプレ】 
#  [1] 授業単元:C言語プログラミング 
#  [2] 問題文: 
#  キーボードから正の整数を1つ入力し、その数が素数かを判定するプログラムをbreak文・for文等を利用して作成しなさい 
#  ヒント:素数を文章で表すなら、「1とその数以外の数では割り切れない数」である 
#  

'キーボードから正の整数を1つ入力し、その数が素数かを判定する' :-
        'キーボードから正の整数を1つ入力し'(_正の整数),
        その数が素数かを判定する(_正の整数).

'キーボードから正の整数を1つ入力し'(_正の整数) :-
        write('正の整数を1つ入力してください : '),
        get_line(Line),
        正の整数入力診断(Line,_正の整数),!.
'キーボードから正の整数を1つ入力し'(_正の整数) :-
        'キーボードから正の整数を1つ入力し'(_正の整数).

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

その数が素数かを判定する(_正の整数) :-
        _判定上限値 is _正の整数 // 2,
        for(2,N,_判定上限値),
        0 is _正の整数 mod N,
        write('素数です\n'),!.
その数が素数かを判定する(_正の整数) :-
        write('素数ではありません。\n').