33.py 669 B

1234567891011121314151617181920212223
  1. #!/usr/bin/env python
  2. from __future__ import division
  3. from itertools import combinations
  4. from utils import gcd
  5. nrs = [(i, str(i)) for i in xrange(10, 100)]
  6. pairs = ((0, 0), (0, 1), (1, 0), (1, 1))
  7. pn = pd = 1
  8. for (n, ns), (d, ds) in combinations(nrs, 2):
  9. if n < d:
  10. for i, j in pairs:
  11. if ds[1 - j] != '0' and ns[i] == ds[j] \
  12. and int(ns[1 - i]) / int(ds[1 - j]) == n / d \
  13. and ns[1] != '0':
  14. pn *= n
  15. pd *= d
  16. print '%d / %d == %s / %s' % (n, d, ns[1 - i], ds[1 - j])
  17. g = gcd(pn, pd)
  18. print 'product: %d / %d' % (pn/ g, pd / g)
  19. print 'answer: %d' % (pd / g)