このディレクトリの索引
#  
#  問題 15-2 2つの文字列がある場合、最長共通部分文字列を見つける方法を述べよ。
#  

'2つの文字列がある場合、最長共通部分文字列を見つける方法を述べよ。'(_文字列_1,_文字列_2,_最長共通部分) :-
        findall([_長さ,_共通部分],(
                    sub_atom(_文字列_1,_,_長さ,_,_共通部分),
                    sub_atom(_文字列_2,_,_長さ,_,_共通部分)),
                LL1),
        最長の長さを得る(LL1,_最長の長さ),
        member([_最長の長さ,_最長共通部分],LL1).
                
最長の長さを得る(LL1,_最長の長さ) :-
        findall(_長さ,member([_長さ,_],LL1),L),
        max_list(L,_最長の長さ).