Добрый день решаю задачу но решение всё время является частичным.
Вот задача:
С клавиатуры вводится большое целое число a и число n. Можно ли получить n суммой или разностью цифр числа a? Если да, то необходимо найти все варианты.
Решение нужно оформить в виде функции с названием num_combinations, в которую поступают два числа и которая возвращает список строк, которые являются математическими выражениями(смотрите пример).
Цифры должны идти в выражении в том порядке, в котром они шли в исходном числе.
Порядок выражений внутри списка не важен.
Вот одно из моих последних решений:
Помогите пожалуйста.
Вот задача:
С клавиатуры вводится большое целое число a и число n. Можно ли получить n суммой или разностью цифр числа a? Если да, то необходимо найти все варианты.
Решение нужно оформить в виде функции с названием num_combinations, в которую поступают два числа и которая возвращает список строк, которые являются математическими выражениями(смотрите пример).
Цифры должны идти в выражении в том порядке, в котром они шли в исходном числе.
Порядок выражений внутри списка не важен.
Вот одно из моих последних решений:
Python:
def num_combinations(a, b):
c = 0
L = []
for i in range(1 << len(str(a))):
m = 0
h = 0
g = ""
for elem in str(a):
if (c >> m) & 1:
h += int(elem)
g += "+"
else:
h -= int(elem)
g += "-"
m += 1
g += elem
if h == b:
if g[0 == "+"]:
L.append(g[1::])
else:
L.append(g)
c += 1
return L
Помогите пожалуйста.