碰到一道小学奥数题,发现需要写程序算出来。然后决定用python解决,就发现了itertools。
上代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import itertools
EPSILON = 0.0000000001
print list(itertools.combinations(['a','b','c'],2))
print list(itertools.permutations(['a','b','c'],2))
list1 = [1,2,3,4,5,6,7,8,9]
for p in itertools.permutations(list1,9):
x = (p[0]*10.0+p[1])/p[2]
y = (p[3]*10.0+p[4])/p[5]
if(abs(x-y)<EPSILON):
#print p
z = (p[6]*10.0+p[7])/p[8]
if(abs(y-z) <EPSILON):
print "answer %r" %list(p)