aboutsummaryrefslogtreecommitdiff
path: root/challenge-252/sgreen/python
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-252/sgreen/python')
-rwxr-xr-xchallenge-252/sgreen/python/ch-1.py21
-rwxr-xr-xchallenge-252/sgreen/python/ch-2.py24
2 files changed, 45 insertions, 0 deletions
diff --git a/challenge-252/sgreen/python/ch-1.py b/challenge-252/sgreen/python/ch-1.py
new file mode 100755
index 0000000000..68b87cbc81
--- /dev/null
+++ b/challenge-252/sgreen/python/ch-1.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+
+import sys
+
+
+def main(ints):
+ solution = 0
+ length = len(ints)
+
+ for pos in range(length):
+ if length % (pos+1) == 0:
+ # This is a special number. Add its square to the solution
+ solution += ints[pos] ** 2
+
+ print(solution)
+
+
+if __name__ == '__main__':
+ # Convert input into integers
+ array = [int(n) for n in sys.argv[1:]]
+ main(array)
diff --git a/challenge-252/sgreen/python/ch-2.py b/challenge-252/sgreen/python/ch-2.py
new file mode 100755
index 0000000000..745338701a
--- /dev/null
+++ b/challenge-252/sgreen/python/ch-2.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python3
+
+import sys
+
+
+def main(n):
+ solution = []
+ half = n // 2
+
+ # If we have an odd number, add a zero
+ if n % 2 == 1:
+ solution = [0]
+
+ for i in range(half):
+ # Add a pair of numbers
+ solution.insert(0, -i-1)
+ solution.append(i+1)
+
+ print(*solution, sep=', ')
+
+
+if __name__ == '__main__':
+ # Convert input into integers
+ main(int(sys.argv[1]))