diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2014-08-31 20:21:45 +0200 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2014-08-31 20:35:09 +0200 |
| commit | 95341b61b030c9e1290f3b326cb7ec584f543aea (patch) | |
| tree | 852386fa04d32eb859bca11c0eff7b5ef9e50f00 /038.py | |
| parent | 571164d977f91925c4c76a292f74f5f93d09ae23 (diff) | |
Diffstat (limited to '038.py')
| -rw-r--r-- | 038.py | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -0,0 +1,43 @@ + +def is_pandigital(x): + digits = 10*[0] + + while x > 0: + digit = x % 10 + if digit == 0: + return False + digits[digit] += 1 + x /= 10 + + for i in range(1, 10): + if digits[i] != 1: + return False + + return True + + +def pandigital(x): + result = str(x * 1) + count = 1 + + while len(result) < 9: + count += 1 + result += str(x * count) + + if len(result) > 9: + return 0 + + if is_pandigital(int(result)): + return int(result) + + return 0 + +max_pd = 0 +for i in xrange(9876): + p = pandigital(i) + if p > max_pd: + max_pd = p + i += 1 + +print max_pd + |
