% Prolog (2/2)
許容最長時間内に目的地に到着可能で、かつ、費用が一番安い交通手段(_距離 km,_許容
最長時間 h,_交通手段) :-
findall([_費用,_交通手段],(交通手段(_交通手段),目的地に到達時間(_交通手段,_
距離 km,_許容最長時間 h,_費用)),_候補リスト),
min(_候補リスト,[_費用,_交通手段]),!.

許容最長時間内に目的地に到着可能で、かつ、費用が一番安い交通手段(_,_,'不可能です
').

目的地に到達時間(_交通手段,_距離 km,_許容最長時間 h,_費用) :-
利用規定(_交通手段,_距離 km),
時速(_交通手段,_時速 km / h),
料金(_交通手段,_料金 円 / km),
付加的な所要時間(_交通手段,_,_付加的な所要時間 h),
_到達時間 is (_距離 / _時速) + _付加的な所要時間,
_到達時間 =< _許容最長時間,
_費用 is _料金 * _距離.