このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1294061094/185
#  [1] 授業単元: プログラミング言語 
#  [2] 問題文(含コード&リンク): ランレングス圧縮をするプログラムを作成せよ。 
#                 5MBあるテキストファイルを圧縮してください。アルファベット小・大文字しかない。改行はない。 
#                 このプログラムをできるだけ簡単に作成せよ。 
#                 例:もしAAABBBCCCでしたらA3B3C3というふうに作成。 
#  

ランレングス圧縮をする([],[]) :- !.
ランレングス圧縮をする(L1,[A,N|R2]) :-
        連長(L1,A,N,R2),
        ランレングス圧縮をする(R2,R2).

連長(L1,N,[B|R]) :-
        append(L0,[B|R],L),
        \+(A=B),
        length(L0,N),!.
連長(L1,N,[]) :-
        length(L1,N).