Полные обороты не влияют на положение финиша, так что их можно вычесть из дистанции. Периметр прямоугольника равен 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")
ooo-helpvet44
25.11.2020
Var A,R:integer; 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")