Prolog converter minutos em horas
Este é o código que eu criei.
mins_to_hours(In, H, M):-
In < 60,
H = 0,
M is In.
mins_to_hours(In, H, M):-
In >= 60,
H is H1+1,
In1 is In-60,
mins_to_hours(In1, H1, M).
Funciona bem quando os minutos são inferiores a 60, por exemplo,
?- mins_to_hours(20,H,M).
H = 0,
M = 20 ;
false.
No entanto, ao tentar executá-lo por mais de 60 minutos
?- mins_to_hours(80,H,M).
it gera uma exceção
ERROR: Arguments are not sufficiently instantiated
ERROR: In:
ERROR: [9] _3198 is _3204+1
ERROR: [8] mins_to_hours(80,_3232,_3234) at c:/.../xyz.pl:11
ERROR: [7] <user>
na posiçãoH is H1+1,
.
Alguma idéia de como consertar iss