このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1289913298/4
#  [1] 授業単元:プログラミング演習  
#  [2] 問題文(含コード&リンク)  
#  問題2 繰返し処理を用いて、m ÷ nの計算をするプログラム(商を求める)を作成しなさい。 
ただし、演算に割り算記号 / を使ってはいけません。また、mとnはキーボードから入力してください。  
#  【ヒント】 
・割り算をするとは、mからnを何回引くことができたか?を調べることと等価です 。元の数mが正の間、nを引くことができた回数が、割り算の商となります。  
#  この回数を、 繰返し処理を使って数えさせてください。 
・繰返し条件は、「mからnを引いた結果が正の値の間」繰り返し、商を1ずつ増やしていきます。  
#  負の値になったら、繰返しを終了します。  
#    

'繰返し処理を用いて、m ÷ nの計算をする'(_m,_n,_商,_剰余) :-
        length(L1,_m),
        length(L2,_n),
        '繰返し処理を用いて、m ÷ nの計算をする'(L1,L2,[],DivL,ModL),
        length(DivL,_商),
        length(ModL,_剰余).

'繰返し処理を用いて、m ÷ nの計算をする'(L1,L2,L3,DivL,ModL) :-
        append(L2,R1,L1),
        append(R1,_,L2),
        '繰返し処理を用いて、m ÷ nの計算をする'(R1,L2,[_|L3],DivL,ModL).
'繰返し処理を用いて、m ÷ nの計算をする'(L1,L2,L3,L3,L1).