from itertools import permutations
def getNum(candi_nums, candi_ops):
res = candi_nums[0]
for i in range(3):
res = eval('(' + str(res) + ')' + candi_ops[i] + '(' +str(candi_nums[i+1]) + ')')
if res == 1024:
print(candi_nums, candi_ops)
def get1024(nums, ops):
candi_nums = list(permutations(nums, 4))
candi_ops = list(permutations(ops, 3))
for n in candi_nums:
for o in candi_ops:
getNum(n, o)
get1024([2, 2, 2, 5, 19, 33], ['-', '-', '**', '//'])
leetcode 1024 马尔科夫活动暴力代码
最新推荐文章于 2022-10-19 11:10:52 发布
该篇博客通过Python的itertools模块探讨了如何使用排列组合来解决数学问题。具体而言,它展示了如何找到一组数和运算符的组合,使得应用这些运算符后得到的结果等于1024。代码中定义了两个函数getNum和get1024,分别用于计算特定组合的运算结果和遍历所有可能的组合。这个例子涉及到了字符串拼接、eval函数的使用以及递归的思想。

1783

被折叠的 条评论
为什么被折叠?



