このディレクトリの索引

%  
%  fizzbuzzの定義。(2)
%  fuzzbuzz_cut はリストに収集したから要素が有限だった。
%  これを普通にrealtimeに出力すると
%  

fizzbuzz(N,X) :-
        M1 is N mod 3,
        M2 is N mod 5,
        fizzbuzz(N,M1,M2,X).

fizzbuzz(_,0,0,fizzbuzz) :- !.
fizzbuzz(_,0,_,fizz) :- !.
fizzbuzz(_,_,0,buzz) :- !.
fizzbuzz(N,_,_,N).

fb(N) :-
        for(1,N1,N),
        fizzbuzz(N1,X),
        write_fizzbuzz(N1,N,X).

write_fizzbuzz(N,N,X) :-
        writef('%t\n',[X]),!.
write_fizzbuzz(N1,N,X) :-
        writef('%t ',[X]),
        fail.