Юлианна245
15.04.2023 03:46

Задача на Python. Буду очень благодарен. Конфеты
Маленький мальчик попал в сказочную страну и увидел там дорогу, вдоль которой разложены мешки с конфетами. На каждом мешке написано количество конфет. Мальчик может взять в каждую руку два мешка, лежачих рядом. Какое наибольшее количество конфет он может взять?

Входные данные
В единственной строке задано сначала количество мешков N (4 <= N <= 10000), а потом N чисел через пробел - количество конфет в каждом мешке (все числа неотрицательны и не превышают 1000000).

Выходные данные
Вывести единственное искомое число - ответ к задаче.

Входные данные #1
8 3 8 5 2 1 7 8 5

Выходные данные #1
28

Задача на e-olymp.com (https://www.e-olymp.com/ru/problems/353)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
zalinairina9
08.05.2023 18:54

Объяснение:

def amount(a, b):

   if b > 0:

       a += 1

       b -= 1

       return summ(a, b)

   else:

       return a

n = int(input())

m = int(input())

print(summ(m, n))

Сначала проверяется условие b > 0. Это базовый случай, то есть случай, когда рекурсия заканчивается. Потом идёт присваивание первому числу единицы, а из b она вычитается. Прибавление единицы числу a будет ровно b раз, то есть к числу а прибавится значение числа b. И когда уже b равно нулю, то происходит выход из рекурсии, и функция возвращает число a, то есть сумму чисел a и b.

Програмка не работает с отрицательными числами, мне лень думать :3

0,0(0 оценок)
Ответ:
ukrainskayaa
26.08.2022 02:23
Самый простой вариант - подсчитать сумму четных и нечётных через цикл, в котором берём остатки от деления. Можно начать с конца и соответственно начать подсчитывать сумму только от первого числа с конца не равного 0. Подсчитываем через целочисленное деление на круглое число и нахождение остатка при деление на один. Данные, чередуя, прибавляем к разным переменным(пусть будут x1 и x2). Затем проверяем остаток от деления одной переменной на другую. Если 0 - "Yes", иначе - "No" For i=5 downto 1 do If i Mod 2 = 1 then a:= a+n div (10^(i-1)) mod 10 Else B=B+ div (10^(i-1)) mod 10;
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота