Ulazne podatke pretvorimo u minute, pa odredimo koliko je minuta ukupno prošlo od početka do kraja, tako što broj minuta početka intervala oduzmemo od broja minuta kraja. Ukoliko je početak intervala u jednom, a kraj u sledećem danu, ova razlika će biti negativna. Zato na nju dodamo 1440 (ukupan broj minuta u jednom danu), a sve operacije radimo po modulu 1440. Konačno, broj proteklih sati dobijamo kao količnik celobrojnog deljenja ukupnog broja proteklih minuta sa 60, a broj proteklih minuta kao ostatak pri deljenju ukupnog broja proteklih minuta sa 60. |
var sat1, min1, sat2, min2, d : integer; begin Read(sat1, min1, sat2, min2); d := (sat2*60 + min2 – (sat1*60 + min1) + 1440) mod 1440; WriteLn(d div 60); WriteLn(d mod 60); end. |