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

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

'かいぎょう区切りで出力せよ、ただし、3の倍数なら「Fizz」を、7の倍数なら「Buzz」を、13の倍数なら「hoge」を、数値の代わりに出力することとする'(Ln,_,_,_) :-
        length(Ln,100),!.
'かいぎょう区切りで出力せよ、ただし、3の倍数なら「Fizz」を、7の倍数なら「Buzz」を、13の倍数なら「hoge」を、数値の代わりに出力することとする'(Ln,L1,L2,L3) :-
        '3の倍数なら「Fizz」を、7の倍数なら「Buzz」を、13の倍数なら「hoge」を、数値の代わりに'([_|Ln],L1,L2,L3,_表示情報),
        writef('%t\n',[_表示情報]),
        三つのならびの左方向へ回転(L1,L2,L3,L1_2,L2_2,L3_2),
        'かいぎょう区切りで出力せよ、ただし、3の倍数なら「Fizz」を、7の倍数なら「Buzz」を、13の倍数なら「hoge」を、数値の代わりに出力することとする'([_|Ln],L1_2,L2_2,L3_2).

'3の倍数なら「Fizz」を、7の倍数なら「Buzz」を、13の倍数なら「hoge」を、数値の代わりに'(Ln,[''|_],[''|_],[''|_],_数値) :-
        length(Ln,_数値),!.
'3の倍数なら「Fizz」を、7の倍数なら「Buzz」を、13の倍数なら「hoge」を、数値の代わりに'(Ln,[A|_],[B|_],[C|_],_FizzBuzzhoge文字列) :-
        atomic_list_concat([A,B,C],_FizzBuzzhoge文字列).

三つのならびの左方向へ回転([A|R1],[B|R2],[C|R3],L1,L2,L3) :-
        append(R1,[A],L1),
        append(R2,[B],L2),
        append(R3,[C],L3).