このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1288531658/502
#  最後です 
#  よろしくお願いします。 
#   
#  [1] 授業単元:プログラミング 
#  [2] 問題文(含コード&リンク): 
#  素数の総和の計算 2+3+5+…+n+… のとき、総和が初めて9129 以上になる素数nを求めよ 
#   

'素数の総和の計算 2+3+5+…+n+… のとき、総和が初めて9129 以上になる素数nを求めよ'(_n) :-
        for(2,_n,maxint),
        素数生成(_n,L),
        sum(L,Sum),
        Sum > 9129,!.

素数生成(N,X) :-
        for(2,M,N),
        エラトステネスの篩(M,L,X).

エラトステネスの篩(_,[],[]) :- !.
エラトステネスの篩(N,[A|R1],R2) :-
        0 is A mod N,
        エラトステネスの篩(N,R1,R2),!.
エラトステネスの篩(N,[A|R1],[A|R2]) :-
        エラトステネスの篩(N,R1,R2).

エラトステネスの篩([],[]) :- !.
エラトステネスの篩([A|R1],[A|R2]) :-
        エラトステネスの篩(A,R1,L),
        エラトステネスの篩(L,R2).