このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1328276597/728
#  [1] 授業単元:Cプログラミング演習  
#  [2] 問題文(含コード&リンク): あたえられた単語で文字数が最長となるようなしりとりをプログラムしパターンと文字数を導出せよ.ただし構造体とポインタを使用すること.  
#  

'あたえられた単語で文字数が最長となるようなしりとりをプログラムしパターンと文字数を導出せよ'(_開始単語,_最長しりとり) :-
        findmax([_長さ,L],(
                    'あたえられた単語で文字数が最長となるようなしりとりをプログラムしパターンと文字数を導出せよ'(_開始単語,[],L,_長さ)),
                [_長さ,_最長しりとり]).

'あたえられた単語で文字数が最長となるようなしりとりをプログラムしパターンと文字数を導出せよ'(_単語_1,L1,L,_長さ) :-
        しりとり(_単語_1,L1,_単語_2),
        'あたえられた単語で文字数が最長となるようなしりとりをプログラムしパターンと文字数を導出せよ'(_単語_2,[_単語_1|L1],L,_長さ).
'あたえられた単語で文字数が最長となるようなしりとりをプログラムしパターンと文字数を導出せよ'(_単語_1,L,[_単語_1|L],_長さ) :-
         length([_単語_1|L],_長さ).

しりとり(_単語_1,L,_単語_2) :-
        単語(_単語_2),
        \+(member(_単語_2,[_単語_1|L])),
        sub_atom(_単語_1,_,1,0,_開始文字),
        sub_atom(_単語_2,0,1,_,開始文字).