aboutsummaryrefslogtreecommitdiff
path: root/challenge-169/michael-dicicco/python/ch-1.py
diff options
context:
space:
mode:
authorDave Jacoby <jacoby.david@gmail.com>2022-06-16 18:07:18 -0400
committerDave Jacoby <jacoby.david@gmail.com>2022-06-16 18:07:18 -0400
commite28b4f047990a21b3e98b4e7b6b9e21f499d388a (patch)
tree39ed88bfdf9d2689042d534606601a19edc0bf9b /challenge-169/michael-dicicco/python/ch-1.py
parentb9ec9ea5dac6ae173154732b1c3f997676f798b9 (diff)
parent5c4b8df3cd8a191dd7c42fc49e12b5dfc3a02cc2 (diff)
downloadperlweeklychallenge-club-e28b4f047990a21b3e98b4e7b6b9e21f499d388a.tar.gz
perlweeklychallenge-club-e28b4f047990a21b3e98b4e7b6b9e21f499d388a.tar.bz2
perlweeklychallenge-club-e28b4f047990a21b3e98b4e7b6b9e21f499d388a.zip
Merge branch 'master' of https://github.com/manwar/perlweeklychallenge-club
Diffstat (limited to 'challenge-169/michael-dicicco/python/ch-1.py')
-rw-r--r--challenge-169/michael-dicicco/python/ch-1.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/challenge-169/michael-dicicco/python/ch-1.py b/challenge-169/michael-dicicco/python/ch-1.py
new file mode 100644
index 0000000000..102d3eaeb5
--- /dev/null
+++ b/challenge-169/michael-dicicco/python/ch-1.py
@@ -0,0 +1,24 @@
+def is_brilliant(factors):
+ """a brilliant number has only two prime factors of the same length"""
+ return len(factors) == 2 and len(str(int(factors[0]))) == len(str(int(factors[1])))
+
+
+def prime_factors(n):
+ output = []
+
+ while n % 2 == 0:
+ output.append(2)
+ n /= 2
+
+ for i in range(3, int(n ** 1 / 2 + 1), 2):
+ while n % i == 0:
+ output.append(i)
+ n /= i
+
+ if n > 2:
+ output.append(int(n))
+ return output
+
+
+if __name__ == '__main__':
+ print(", ".join([str(i) for i in range(4, 300) if is_brilliant(prime_factors(i))]))