aboutsummaryrefslogtreecommitdiff
path: root/challenge-133/abigail/python
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-133/abigail/python')
-rw-r--r--challenge-133/abigail/python/ch-1.py15
-rw-r--r--challenge-133/abigail/python/ch-2.py40
2 files changed, 55 insertions, 0 deletions
diff --git a/challenge-133/abigail/python/ch-1.py b/challenge-133/abigail/python/ch-1.py
new file mode 100644
index 0000000000..9fc7b1c3fd
--- /dev/null
+++ b/challenge-133/abigail/python/ch-1.py
@@ -0,0 +1,15 @@
+#!/opt/local/bin/python
+
+#
+# See ../README.md
+#
+
+#
+# Run as: python ch-1.py < input-file
+#
+
+import fileinput
+import math
+
+for num in fileinput . input ():
+ print (math . floor (math . exp (math . log (int (num)) / 2)))
diff --git a/challenge-133/abigail/python/ch-2.py b/challenge-133/abigail/python/ch-2.py
new file mode 100644
index 0000000000..7fd37368d9
--- /dev/null
+++ b/challenge-133/abigail/python/ch-2.py
@@ -0,0 +1,40 @@
+#!/opt/local/bin/python
+
+#
+# See ../README.md
+#
+
+#
+# Run as: python ch-2.py < input-file
+#
+
+def digit_sum (numbers):
+ sum = 0
+ for num in numbers:
+ while num > 0:
+ sum = sum + num % 10
+ num = num // 10
+ return (sum)
+
+small_primes = (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31)
+
+def factorize (num):
+ out = []
+ for prime in small_primes:
+ while num % prime == 0:
+ out . append (prime)
+ num = num / prime
+ if num > 1:
+ out . append (num)
+ return (out)
+
+
+number = 1
+count = 0
+
+while count < 10:
+ factors = factorize (number)
+ if len (factors) > 1 and digit_sum ([number]) == digit_sum (factors):
+ print (number)
+ count = count + 1
+ number = number + 1