精華區beta Python 關於我們 聯絡資訊
最近才注意到 python 開版了, 所以也來野人獻曝一下. :p #!/usr/bin/python ops = [('+', lambda a, b: (a[0] * b[1] + a[1] * b[0], a[1] * b[1])), ('-', lambda a, b: (a[0] * b[1] - a[1] * b[0], a[1] * b[1])), ('*', lambda a, b: (a[0] * b[0], a[1] * b[1])), ('/', lambda a, b: (a[0] * b[1], a[1] * b[0]))] target = (24, 1) def dump(path): if type(path[-1]) == str: p = path[:-1] print '(', p = dump(p) print path[-1], p = dump(p) print ')', return p else: print path[-1], return path[:-1] def solve(nums, path, stack): if (len(nums) == 0 and len(stack) == 1 and target[0] * stack[0][1] == target[1] * stack[0][0] and stack[0][1] != 0): dump (path) print for i in range(len(nums)): solve (nums[:i] + nums[i+1:], path + [nums[i]], stack + [(nums[i],1)]) if len(stack) >= 2: for op in ops: solve (nums, path + [op[0]], stack[:-2] + [op[1](stack[-1], stack[-2])]) def main(): nums = raw_input() nums = map(int, nums.split()) solve(nums, [], []) if __name__ == '__main__': main() -- 「ふ…ふざけるな!そんあ短い咒文で、魔法を起動できるわけないだろうが! お前わマウゼルの神に逆らう氣なのか?!傲慢な~」 「失禮致しました、誠實に全力でお相手致します。 第一戰術級‧軍用攻性魔法‧出よ、武雷神〈トール〉!」 〈スクラップド‧プリンセス〉 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.224.64
ericsk:歡迎嗆人王加入! 12/31 16:08