import re
def solve(x, n):
fmt = lambda e: e if e.isdigit() else f"({e})"
d = {}
d[1] = {x: str(x)}
values = set([x])
k = 2
while 1:
d[k] = {}
for i in range(1, k + 1):
j = k - i
if k - i in d:
for e in d[i]:
for f in d[j]:
se, sf = d[i][e], d[j][f]
if not e + f in values:
d[k][e + f] = f"{se}+{sf}"
values.add(e + f)
if not e * f in values:
d[k][e * f] = f"{fmt(se)}*{fmt(sf)}"
values.add(e * f)
if e > f and not e - f in values:
d[k][e - f] = f"{se}-{fmt(sf)}"
values.add(e - f)
elif e < f and not f - e in values:
d[k][f - e] = f"{sf}-{fmt(se)}"
values.add(f - e)
if e % f == 0 and not e // f in values:
d[k][e // f] = f"{fmt(se)}/{fmt(sf)}"
values.add(e // f)
if f % e == 0 and not f // e in values:
d[k][f // e] = f"{fmt(sf)}/{fmt(se)}"
values.add(f // e)
if n in d[k]:
st = d[k][n]
print(st)
return len(re.findall(str(x), st))
k += 1
print(solve(3, 69))
To embed this program on your website, copy the following code and paste it into your website's HTML: