(Python)
从数学导入prod
从sympy.utilities.iterables将multiset_permutations导入为mp
从itertools导入count,islice,combinations_with_replacement as mc
定义:
d=列表(映射(int,s))
返回排序的(s)==排序的(str(sum(d))+str(prod(d)
定义正常:
d=列表(映射(int,s))
返回s[0]!='0'和“”.join(s)==str(总和(d))+str(prod(d)
定义nd(d):mc中m的(“”.join(m)的产量(“0123456789”,d))
def b():如果c(s),则从(s for d in count(1)for s in nd(d))
def a():如果确定(p),则从(int(“”.join(p))for s in b()for p in mp(s)if ok(p)
打印(列表(islice(a(),16))#迈克尔·布拉尼基2022年6月30日