diff options
| -rwxr-xr-x | challenge-114/stuart-little/python/ch-1.py | 18 | ||||
| -rwxr-xr-x | challenge-114/stuart-little/python/ch-2.py | 14 |
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)}") |
