このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1255709298/817
#  [1] 授業単元:C言語 繰り返しと分岐の組み合わせ 
#  [2] 問題文(含コード&リンク):http://ime.nu/kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10088.txt
#    (リンク先はエラーが出た自作の奴です) 
#  N 円の借金がある.年利 a % の利息が付くとして,毎年 b 円返済したなら 何年で返済できるか計算するプログラムを作成せよ. 
#  (N, a, b はキーボードから入力する) 
#  ただし,無限ループに陥らないように工夫すること. 
#  また,利息は返済前にかかるとせよ.なお,利子による端数(1円未満の 利子)は切り捨てること.  
# 

借金の返済に何年掛かるか(_借金,_毎年の返済額,_年利,_何年) :-
    借金の返済(1,_借金,_毎年の返済額,_年利,_何年).

借金の返済(_何年,_借金,_毎年の返済額,_年利,_何年) :-
    _利息 is truncate(floor(_借金 * _年利 / 100)),
    _今回の返済額 is _借金 + _利息,
    _毎年の返済額>=_今回の返済額,!.

借金の返済(_何年目,_借金,_毎年の返済額,_年利,_何年) :-
    _利息 is truncate(floor(_借金 * _年利 / 100)),
    _償還額 is _毎年の返済額 - _利息,
    _次回の借金 is _借金 - _償還額,
    _来年は何年目 is _何年目 + 1,
    借金の返済(_来年は何年目,_次回の借金,_毎年の返済額,_年利,_何年).