summaryrefslogtreecommitdiff
path: root/032.py
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2014-08-31 20:21:45 +0200
committerReiner Herrmann <reiner@reiner-h.de>2014-08-31 20:35:09 +0200
commit95341b61b030c9e1290f3b326cb7ec584f543aea (patch)
tree852386fa04d32eb859bca11c0eff7b5ef9e50f00 /032.py
parent571164d977f91925c4c76a292f74f5f93d09ae23 (diff)
moved files to higher directory after split to new repositoryHEADtrunk
Diffstat (limited to '032.py')
-rw-r--r--032.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/032.py b/032.py
new file mode 100644
index 0000000..0958625
--- /dev/null
+++ b/032.py
@@ -0,0 +1,43 @@
+
+from common import pandigital
+
+pandigital = pandigital(9).numbers(5)
+pandigital.remove(1)
+
+def is_pandigital(a, b, c):
+ d = [0]*10
+ while a > 0:
+ digit = a % 10
+ if d[digit] > 0:
+ return False
+ d[digit] += 1
+ a /= 10
+ while b > 0:
+ digit = b % 10
+ if d[digit] > 0:
+ return False
+ d[digit] += 1
+ b /= 10
+ while c > 0:
+ digit = c % 10
+ if d[digit] > 0:
+ return False
+ d[digit] += 1
+ c /= 10
+ return d[1:] == [1]*9
+
+products = set()
+
+for a in pandigital:
+ for b in pandigital:
+ c = a * b
+ if c in pandigital and is_pandigital(a, b, c):
+ #print str(a), "*", str(b), "=", str(c)
+ products.add(c)
+
+sum = 0
+for p in products:
+ sum += p
+
+print sum
+