diff options
Diffstat (limited to 'challenge-051/user-person/python/ch-2.py')
| -rwxr-xr-x | challenge-051/user-person/python/ch-2.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/challenge-051/user-person/python/ch-2.py b/challenge-051/user-person/python/ch-2.py new file mode 100755 index 0000000000..85b3394bb6 --- /dev/null +++ b/challenge-051/user-person/python/ch-2.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python3 + +########################################################################### +# script name: ch-2.py # +# # +# https://github.com/user-person # +# # +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-051/ # +# # +# Colourful Number # +# Write a script to display all Colorful Number with 3 digits. # +# # +# A number can be declare Colorful Number where all the products of # +# consecutive subsets of digit are different. # +# # +# For example, 263 is a Colorful Number since 2, 6, 3, 2x6, 6x3, 2x6x3 # +# are unique. # +# # +########################################################################### + +# The range to search can be narrowed. +# 3 digit numbers gives us a beginning range of 100 .. 999 + +# Q(first appearance) == Q(second appearance) +# Numbers with repetitions are not colourful numbers. + +# 0 == ( Q x 0 ) +# Numbers with 0s are not colorful numbers. + +# Q == ( Q x 1 ) +# Numbers with 1s are not colorful numbers. + +# 100 no, 200, 230, 231, 232, 233 ... 234 seems right. +# 999 no, 989, 988 ... 987 seems right. + +MIN = 234 +MAX = 987 + +for i in range(MIN, MAX+1): + + printThis = True +# seen = {} + + d = list(str(i)) + d = list(map(int,d)) + + products = [ d[0], d[1], d[2], d[0]*d[1], d[1]*d[2], d[0]*d[1]*d[2] ] + + for prdt in products: + if products.count(prdt) > 1: + printThis = False +# else: +# seen.update({i : True}) + + if printThis: + print(i) + +# Output is 328 lines / numbers. +# output: +# +# 234 +# 235 +# 237 +# . +# . +# . +# 985 +# 986 +# 987 |
