diff options
Diffstat (limited to 'day1/exercise')
-rw-r--r-- | day1/exercise/arms.py | 18 | ||||
-rwxr-xr-x | day1/exercise/lister.py | 13 | ||||
-rw-r--r-- | day1/exercise/x.py | 19 |
3 files changed, 50 insertions, 0 deletions
diff --git a/day1/exercise/arms.py b/day1/exercise/arms.py new file mode 100644 index 0000000..33196fd --- /dev/null +++ b/day1/exercise/arms.py @@ -0,0 +1,18 @@ +# Armstrong Numbers + +for n in range(100, 1000): +# s = str(n) +# a, b, c = int(s[0]), int(s[1]), int(s[2]) +# if a * a * a + b * b * b + c * c * c == n: +# print n +# sum, copy = 0, n +# while copy > 0: +# sum += (copy % 10) ** 3 +# copy /= 10 +# if sum == n: +# print n + u = n % 10 + h = n / 100 + t = (n/10) % 10 + if h ** 3 + t ** 3 + u ** 3 == N: + print n diff --git a/day1/exercise/lister.py b/day1/exercise/lister.py new file mode 100755 index 0000000..9124bf7 --- /dev/null +++ b/day1/exercise/lister.py @@ -0,0 +1,13 @@ +s = "1, 3-7, 12, 15, 18-21" +answer = [] +single = "answer.append( %s )" +many = "answer.extend(range(%s))" +COMMA = ',' +MINUS = '-' +for p in s.split(COMMA): + if MINUS not in p: + eval( single % (p) ) + else: + p = p.replace( MINUS, COMMA) + '+ 1 ' + eval( many % (p) ) +print answer diff --git a/day1/exercise/x.py b/day1/exercise/x.py new file mode 100644 index 0000000..0b073db --- /dev/null +++ b/day1/exercise/x.py @@ -0,0 +1,19 @@ +d1 = [2,4,6,8] +d0 = [0,2,4,6,8] +dq = [0, 4, 6] + +for a in d1: + th = a * 1000 + for b in d0: + hu = b * 100 + for c in d0: + te = c * 10 + for u in dq: + n = th + hu + te + u + if is_square(n): print n + + +for i in range(46, 94, 2): + n = i * i + if all_even( n ): print n + |