Питон 18 !
кузнечик прыгает по столбикам, расположенным на одной линии на равных расстояниях друг от друга. столбики имеют порядковые номера от 1 до n . в начале кузнечик сидит на столбике с номером 1. он может прыгнуть вперед на расстояние от 1 до k столбиков, считая от текущего.
на каждом столбике кузнечик может получить или потерять несколько золотых монет (для каждого столбика это число известно). определите, как нужно прыгать кузнечику, чтобы собрать наибольшее количество золотых монет. учитывайте, что кузнечик не может прыгать назад.
входные данные
в первой строке вводятся два натуральных числа: n и k ( 2 ≤ n , k ≤ 1 ), разделённые пробелом. во второй строке записаны через пробел n - 2 целых числа – количество монет, которое кузнечик получает на каждом столбике, от 2-го до n - 1 -го. если это число отрицательное, кузнечик теряет монеты. гарантируется, что все числа по модулю не превосходят 1.
выходные данные
в первой строке программа должна вывести наибольшее количество монет, которое может собрать кузнечик. во второй строке выводится число прыжков кузнечика, а в третьей строке – номера всех столбиков, которые посетил кузнечик (через пробел в порядке возрастания).
если правильных ответов несколько, выведите любой из них.
примеры
входные данные
5 3
2 -3 5
выходные данные
7
3
1 2 4 5
если подобные манипуляции произвести с любым другим числом записаным в другой системе счисления но при этом заменить десятку на основание системы счисления ( а это может быть какоеугодно число) то мы получим числозаписаное в обычном виде.
возможно тебе не понятны термины навроде системы счисления?
на всякий случай(грубо говоря):
сист счисл-я - это правила по которым мы записываем числа или сколько цифр используем для записи чисел
например десятичная с.с.: используется 10 цифр, 0 1 2 3 4 5 6 7 8 9
а в двоичной мы все числа записываем с двух цифр, единицы и нуля, это происходит примерно так: 0=0 1=1 2=10 3=11 4=100 5=101 6= 110 и так далее(возможно несколько сумбурно и не понятно но я честно пытаюсь донести все простым языком)
основанием системы счисления называется количество цифр которое используется для записи чисел
PS кстати это основание как правило записывается в низу после числа, и возможно вы перепутали его со степенью))
ладно... вроде теорию постаралась обьяснить, а теперь само задание
10000101=
=
//упс здесь действительно 133, я ранее ошиблась чуток))
00011001=
1110011=
11,11=
def print_digit_sum(a):
print(f'Сумма цифр числа {a} равна {sum([int(i) for i in str(a)])}')
while True:
try:
print_digit_sum(int(input('Введите целое число:')))
break
except ValueError:
print('Неверный формат входных данных')
sum([int(i) for i in str(a)]) - здесь мы выполняем следующие действия:
1. Преобразуем число в строку с str(a)
2. Пробегаемся по символам строки от первого до последнего и создаём массив, преобразуя каждый строковый символ в число - [int(i) for i in str(a)]
3. Ну и наконец с оператора sum вычисляем сумму всех элементов получившегося массива