このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1357748713/998
#  [1] 授業単元: 
#  [2] 問題文(含コード&リンク): 
#  FizzBuzz問題の要領で、1から100までの整数を、かいぎょう区切りで出力せよ、ただし、 
#  3の倍数なら「Fizz」を、5の倍数なら「Buzz」を、7の倍数なら「hoge」を、 
#  数値の代わりに出力することとする 
#  

'FizzBuzz問題の要領で、1から100までの整数を、かいぎょう区切りで出力せよ、ただし、
3の倍数なら「Fizz」を、5の倍数なら「Buzz」を、7の倍数なら「hoge」を、
数値の代わりに、かいぎょう区切りで出力することとする' :-
        '1から100までの整数を、'(_整数),
        '3の倍数なら「Fizz」を、5の倍数なら「Buzz」を、7の倍数なら「hoge」を、数値の代わりに、かいぎょう区切りで出力することとする'(_整数),
        _整数 = 100.

'1から100までの整数を、'(_整数) :-
        between(1,100,_整数).

'3の倍数なら「Fizz」を、5の倍数なら「Buzz」を、7の倍数なら「hoge」を、数値の代わりに、かいぎょう区切りで出力することとする'(_整数) :-
        '3の倍数なら「Fizz」を、5の倍数なら「Buzz」を、7の倍数なら「hoge」を、該当しない時は数値を'(_整数,_出力値),
        writef('%t\n',[_出力値]).

'3の倍数なら「Fizz」を、5の倍数なら「Buzz」を、7の倍数なら「hoge」を、該当しない時は数値を'(_整数,_出力文字列) :-
        '3の倍数なら「Fizz」を、5の倍数なら「Buzz」を、7の倍数なら「hoge」のどれかが該当したとき'(_整数,_表示ならび),
        atomic_list_concat(_表示ならび,_表示文字列),!.
'3の倍数なら「Fizz」を、5の倍数なら「Buzz」を、7の倍数なら「hoge」を、該当しない時は数値を'(_整数,_整数).

'3の倍数なら「Fizz」を、5の倍数なら「Buzz」を、7の倍数なら「hoge」のどれかが該当したとき'(_整数,_表示ならび) :-
        findall(A,(
                    '3の倍数なら「Fizz」を、5の倍数なら「Buzz」を、7の倍数なら「hoge」の'(_整数,A)),
                _表示ならび),
        どれかが該当したとき(_表示ならび).

'3の倍数なら「Fizz」を、5の倍数なら「Buzz」を、7の倍数なら「hoge」の'(_整数,A) :-
        member([_除数,A],[[3,'Fizz'],[5,'Buzz'],[7,hoge]]),
        0 is _整数 mod _除数.

どれかが該当したとき([_|_]).