Полные обороты не влияют на положение финиша, так что их можно вычесть из дистанции. Периметр прямоугольника равен 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")
pascal
Объяснение:
const n = 5; m = 5;
var a: array [1..n, 1..m] of integer;
procedure fillarray(k: integer);
var i, j: integer;
begin
randomize;
for i := 1 to n do
for j := 1 to m do a[i, j] := random(k);
end;
procedure transarray();
var i, j, k: integer;
begin
for i := 1 to n do
for j := i+1 to m do
begin
k := a[i, j];
a[i, j] := a[j, i];
a[j, i] := k;
end;
end;
procedure printarray();
var i, j: integer;
begin
for i:=1 to n do
begin
for j:=1 to m do
write(a[i, j]:3);
writeln;
end;
writeln;
end;
begin
fillarray(10);
printarray();
transarray();
printarray();
end.
Поделитесь своими знаниями, ответьте на вопрос:
Компьютер имеет оперативную память 2048 мбайт. если записать эту величину в битах, то какая степень числа 2 будет соответствовать этой величине: