aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchirvasitua <stuart-little@users.noreply.github.com>2021-05-24 11:47:49 -0400
committerchirvasitua <stuart-little@users.noreply.github.com>2021-05-24 20:26:30 -0400
commit81397c78efc7711fb79c1fa6a54f3d0e1e9c1c54 (patch)
treed31ba6f80dcce8db7ea869db1a5b6507fca6553c
parenta2dcbbbcc3a246b0136e40aee20170a021f0b573 (diff)
downloadperlweeklychallenge-club-81397c78efc7711fb79c1fa6a54f3d0e1e9c1c54.tar.gz
perlweeklychallenge-club-81397c78efc7711fb79c1fa6a54f3d0e1e9c1c54.tar.bz2
perlweeklychallenge-club-81397c78efc7711fb79c1fa6a54f3d0e1e9c1c54.zip
1st commit on 114_python
-rwxr-xr-xchallenge-114/stuart-little/python/ch-1.py18
-rwxr-xr-xchallenge-114/stuart-little/python/ch-2.py14
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-114/stuart-little/python/ch-1.py b/challenge-114/stuart-little/python/ch-1.py
new file mode 100755
index 0000000000..891693a2f5
--- /dev/null
+++ b/challenge-114/stuart-little/python/ch-1.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+
+# run <script> <number>
+
+import sys
+
+nrDig = len(sys.argv[1])
+
+if (sys.argv[1] == '9' * nrDig):
+ print(int(sys.argv[1])+2)
+ sys.exit()
+
+def doubleUp(nrDig, initHalf):
+ return initHalf + (initHalf[:-1][::-1] if (nrDig % 2) else initHalf[::-1])
+
+initHalf = sys.argv[1][0:int((nrDig+1)/2)]
+
+print((doubleUp(nrDig,initHalf)) if (int(doubleUp(nrDig,initHalf)) > int(sys.argv[1])) else (doubleUp(nrDig,(str(int(initHalf)+1)))) )
diff --git a/challenge-114/stuart-little/python/ch-2.py b/challenge-114/stuart-little/python/ch-2.py
new file mode 100755
index 0000000000..a88d0f2adc
--- /dev/null
+++ b/challenge-114/stuart-little/python/ch-2.py
@@ -0,0 +1,14 @@
+#!/usr/bin/env python
+
+# run <script> <number>
+
+import re
+import sys
+
+binNr=f"0{int(sys.argv[1]):b}"
+print(f"Initial number in base two: {binNr}")
+
+nxt = re.sub(r"01(1*)$", r"10\1", binNr) if (int(sys.argv[1]) % 2) else re.sub(r"01(1*)(0*)$", r"10\2\1", binNr)
+print(f"Next number in base two: {nxt}")
+
+print(f"Next number in base two: {int(nxt, base=2)}")