このディレクトリの索引
%  
%  PrologというのはFizzBuzz問題向きなのだろうか。
%  

fizzbuzz(N) :-
        findall(M,between(1,N,M),L),
        fizzbuzz([_],[_],L).

fizzbuzz([_,_,_],[_,_,_,_,_],[_|R]) :-
        fizzbuzz([],[],['FizzBuzz'|R]).
fizzbuzz([_,_,_],L2,[_|R]) :-
        fizzbuzz([],L2,['Fizz'|R]).
fizzbuzz(L1,[_,_,_,_,_],[_|R]) :-
        fizzbuzz(L1,[],['Buzz'|R]).
fizzbuzz(L1,L2,[A|R]) :-
        writef('%t ',[A]),
        fizzbuzz([_|L1],[_|L2],R).
fizzbuzz(_,_,[]).