Вывести списочную форму
Для неотрицательного целого числа X списочная форма –— это массив его цифр слева направо. К примеру, для 1231 списочная форма будет [1,2,3,1]. На вход подается количество цифр числа Х, списочная форма неотрицательного числа Х и неотрицательное число K. Числа К и Х не превосходят 10000.
Нужно вернуть списочную форму числа X + K.
Формат ввода
В первой строке — длина списочной формы числа X. На следующей строке — сама списочная форма с цифрами записанными через пробел.
В последней строке записано число K.
Формат вывода
Выведите списочную форму числа X+K.
Пример 1
Ввод Вывод
4 1 2 3 4
1 2 0 0
34
Не понимаю как нужно делать эту задачу, помогите плиз. Вот то что я попробовал но это не то.
n = int(input())
array = []
for i in input().split():
array.append(int(i))
k, j = input().split()
k, j = int(k), int(j)
array = array[:j - 1] + [k]
ret = str(array[0])
for i in range(1, len(array)):
ret = ret + ' ' + str(array[i])
print(ret)
Ответы (3 шт):
Можно так:
input()
X = int(input().replace(' ', ''))
K = int(input())
print(' '.join(str(X+K)))
# print(list(str(X+K)))
Или еще так:
input()
X = list(map(int, input().split()))
K = list(map(int, input()))
var = len(K) - len(X)
if var > 0:
X = [0]*var+X
elif var < 0:
K = [0]*var+K
res = [sum(el) for el in zip(K, X)]
print(res)
Вот самый простой пример:
x = int(input())
k = int(input())
res = x+k
res = list(str(res))
print(res)
Сначала получаем 2 числа тип int, то есть, целочисленные. Далее складываем их и переводим результат в строку, после чего разбиваем строку на список
Вот пример, если первое число означает кол-во первых цифр из суммы
b = int(input())
x = int(input())
k = int(input())
res = x+k
res = list(str(res))
res = res[:b]
print(res)
Однострочник, извините:
input(), print(' '.join(str(sum(map(int, (''.join(input().split()), input()))))));