Как вы и просили, возможное решение с использованием рекурсии может быть:
minutes_to_hours(Mins,Hours) :-
( Mins > 60 ->
M is Mins - 60,
H1 is Hours + 1,
minutes_to_hours(M,H1) ;
format('Hours: ~w, Reminder: ~w~n',[Hours,Mins])
).
?- minutes_to_hours(125,0).
Hours: 2, Reminder: 5
true
Однако вы должны предпочесть решение @ Capelli C с mod
и //
.