def calculate_n(X, Y):
n_set = set()
for x in X:
for y in Y:
n_set.add(x + y)
n_set.add(x - y)
n_set.add(x * y)
if y != 0:
n_set.add(x // y)
return n_set
def solution(N, number):
answer = -1
result = {}
result[1] = {N}
if number == N:
return 1
for n in range(2, 9):
temp_set = {int(str(N)*n)}
for i in range(1, n):
temp_set.update(calculate_n(result[i], result[n - i]))
if number in temp_set:
answer = n
break
result[n] = temp_set
return answer