Полные обороты не влияют на положение финиша, так что их можно вычесть из дистанции. Периметр прямоугольника равен P = 2(A + B), так что после выкидывания полных оборотов дистанция будет равна L mod P, где mod - операция взятия остатка. После этого L < P; если L < A, то финиш будет снизу, если A < L < A + B - справа, если A + B < L < 2A + B - сверху, а иначе слева.
Begin
WriteLn('Выберите тип единицы измерения времени: 1 - секунда, 2 - минута, 3 - час, 4 - сутки, 0 - выход.');
ReadLn(R);
While R<>0 do
Begin
Write('Введите значение этой единицы времени: ');
ReadLn(A);
Case R of
1:WriteLn(A,' сек = ',(A/60):0:3,' мин = ',(A/3600):0:3,' ч = ',(A/86400):0:3,' сут');
2:WriteLn(A,' мин = ',(A/60):0:3,' ч = ',(A/1440):0:3,' сут = ',A*60,' сек');
3:WriteLn(A,' ч = ',(A/24):0:3,' сут = ',A*3600,' сек = ',A*60,' мин');
4:WriteLn(A,' сут = ',A*24,' ч = ',A*1440,' мин = ',A*86400,' сек');
End;
WriteLn;
WriteLn('Выберите тип единицы измерения времени: 1 - секунда, 2 - минута, 3 - час, 4 - сутки, 0 - выход.');
ReadLn(R);
End;
End.
Полные обороты не влияют на положение финиша, так что их можно вычесть из дистанции. Периметр прямоугольника равен P = 2(A + B), так что после выкидывания полных оборотов дистанция будет равна L mod P, где mod - операция взятия остатка. После этого L < P; если L < A, то финиш будет снизу, если A < L < A + B - справа, если A + B < L < 2A + B - сверху, а иначе слева.
Код (python 3):
A = int(input())
B = int(input())
L = int(input())
P = 2 * (A + B)
L = L % P
if L < A:
print("BOTTOM")
elif L < A + B:
print("RIGHT")
elif L < 2 * A + B:
print("TOP")
else:
print("LEFT")