Условие Лавочки в парке устроены следующим образом. Несколько одинаковых кубических гранитных блоков ставятся в ряд, а на них кладется гранитная плита (см. рисунок). Архитектор-модернист решил, что будет интереснее, если у всех лавочек расположение гранитных блоков-ножек будет разным (и не обязательно симметричным). При этом они располагаются так, чтобы плита не падала: для этого достаточно, чтобы и слева, и справа от центра плиты был хотя бы один гранитный блок или его часть (в частности, если центр плиты приходится на середину какого-нибудь блока, то и слева, и справа от центра плиты находится часть блока, и плита не падает).
Формат входных данных
В первой строке входного потока записаны два числа: L – длина лавочки и K – количество гранитных блоков-ножек. Оба числа натуральные и не превышают 10 000.
Во второй строке записано K различных целых неотрицательных чисел, задающих положение каждой ножки. Положение ножки определяется расстоянием от левого края плиты до левого края ножки (ножка – это куб размером 1×1×1). Ножки перечислены слева направо (то есть начиная с ножки с меньшим расстоянием до левого края)
Формат выходных данных
В выходном потоке требуется перечислить ножки, которые грабителям нужно оставить. Для каждой ножки нужно выдать ее положение, как оно задано во входном потоке. Ножки следует перечислять слева направо, как они встречаются во входном потоке.
Код:
Pascal-
Var
cord:array[1..1000] of longint;
blk:array[1..1000] of real;
l,k,i,blr,rr,bll,kk:longint;
cer:real;
Begin
Read(l,k);
for i:=1 to k do
Read(cord[i]);
cer:=l/2;
bll:=cord[1];
blr:=1;
for i:=1 to round(cer) do
begin
if (cord[i]>bll) then
begin
bll:=cord[i];
blr:=i;
end;
end;
kk:=cord[k];
rr:=k;
for i:=k downto round(cer) do
begin
if (cord[i] begin
kk:=cord[i];
rr:=i;
end;
end;
write(blr,' ',rr);
end.
почемуто выдает неверный результат допустим
ввод:
13 4
1 4 8 11
вывод
4 8,а у меня 4 4
def welcome():
print('Введите ваше имя!')
name = input()
print('Введите вашу фамилию!')
surname = input()
print(' ')
print('{0} {1}, мы рады приветствовать Вас!' .format(name, surname))
print(' ')
welcome()
def arithmetic():
print(' ')
print('Выберете выполняемую операцию: "+" - для сложения, "-" - для вычитания, "/" - для для деления, "*" - для умножения')
print(' ')
operation = input()
print('Введите первое число:')
number1 = int(input())
print('Введите второе число:')
number2 = int(input())
if operation == '+':
result = number1 + number2
print('Ваш результат:', result)
elif operation == '-':
result = number1 - number2
print('Ваш результат:', result)
elif operation == '/':
result = number1 / number2
print('Ваш результат:', result)
elif operation == '*':
result = number1 * number2
print('Ваш результат:', result)
else:
print('"Неизвестная операция"')
arithmetic()
print(' ')
print('Желаете ли вы ещё воспользоваться калькулятором?')
print('Введите Y - если Да, или N - завершить работу')
answer = input()
if answer == 'Y' or 'y':
arithmetic()
elif answer == 'N' or 'n':
print('Досвидули мэн!')
else:
print('Неверный символ')
Объяснение:
1) Какой ответ будет выведен после выполнения цикла:
for x := 1 to 8 do Подставляем Х от 1 до 8
if x mod 7 = 0 Подставляем сюда Х=1 1 mod 7=0 нет так как mod это остаток от деления 1 mod 7 = 1 условие ложно и следующая строчка работать не будет, значит единственный Х который нам подходит это 7
7 mod 7 = 0 Да
then x := x + 1; Х:=7+1 X:=8
ответ: 8
2) Какой ответ будет выведен после выполнения цикла:
S := 0;
for x := 1 to 10 do
if x mod 3 = 0 Тут у нас снова mod и нам подходят только числа 3,6,9
так как они при делении на 3 дают остаток 0
3 mod 3 = 0 да
6 mod 3 = 0 да
9 mod 3 = 0 да
then S := S + x;
S:=0+3 S:=3
S:=3+6 S:=9
S:=9+9 S:=18
ответ: 18
Объяснение: