diff --git a/22/19.py b/22/19.py new file mode 100644 index 0000000..a3915d7 --- /dev/null +++ b/22/19.py @@ -0,0 +1,24 @@ +s, t = 11, 27 +c = [] +n = [] +arr = [1] * (s + 1) + +for k in range(len(c) + 1): + s__ = s + 1 if k == 0 else c[k - 1] + 1 + s_ = s__ - 1 + t__ = c[k] + 1 if k < len(c) else t + 1 + t_ = t__ - 1 + for i in range(s__, t__): + e = 0 + if i - 1 >= s_ and not i - 1 in n: + e += arr[i - 1] + if (i % 100) // 10 > 0 and i - 10 >= s_ and not i - 10 in n: + e += arr[i - 10] + arr.append(e) + back = arr[t_] + arr = [0] * (t_ + 1) + arr[t_] = back + +print(arr[t]) + +# 8 diff --git a/22/49.py b/22/49.py new file mode 100644 index 0000000..7810fdf --- /dev/null +++ b/22/49.py @@ -0,0 +1,24 @@ +s, t = 2, 11 +c = [] +n = [] +arr = [1] * (s + 1) + +for k in range(len(c) + 1): + s__ = s + 1 if k == 0 else c[k - 1] + 1 + s_ = s__ - 1 + t__ = c[k] + 1 if k < len(c) else t + 1 + t_ = t__ - 1 + for i in range(s__, t__): + e = 0 + if i - 1 >= s_ and not i - 1 in n: + e += arr[i - 1] + if i % 2 == 1 and (i + 1) // 2 >= s_ and not (i + 1) // 2 in n: + e += arr[(i+1) // 2] + arr.append(e) + back = arr[t_] + arr = [0] * (t_ + 1) + arr[t_] = back + +print(arr[t]) + +# 14 diff --git a/22/50.py b/22/50.py new file mode 100644 index 0000000..512cb77 --- /dev/null +++ b/22/50.py @@ -0,0 +1,25 @@ +s, t = 3, 20 +c = [] +n = [] +arr = [1] * (s + 1) + +for k in range(len(c) + 1): + s__ = s + 1 if k == 0 else c[k - 1] + 1 + s_ = s__ - 1 + t__ = c[k] + 1 if k < len(c) else t + 1 + t_ = t__ - 1 + for i in range(s__, t__): + e = 0 + if i - 1 >= s_ and not i - 1 in n: + e += arr[i - 1] + if i != t // 2: + if i % 2 == 0 and i // 2 >= s_ and not i // 2 in n: + e += arr[i // 2] + arr.append(e) + back = arr[t_] + arr = [0] * (t_ + 1) + arr[t_] = back + +print(arr[t]) + +# 16 diff --git a/22/67.py b/22/67.py new file mode 100644 index 0000000..1909d60 --- /dev/null +++ b/22/67.py @@ -0,0 +1,24 @@ +s, t = 5, 25 +c = [15] +n = [12] +arr = [1] * (s + 1) + +for k in range(len(c) + 1): + s__ = s + 1 if k == 0 else c[k - 1] + 1 + s_ = s__ - 1 + t__ = c[k] + 1 if k < len(c) else t + 1 + t_ = t__ - 1 + for i in range(s__, t__): + e = 0 + if i - 1 >= s_ and not i - 1 in n: + e += arr[i - 1] + if i - 3 >= s_ and not i - 3 in n: + e += arr[i - 3] + arr.append(e) + back = arr[t_] + arr = [0] * (t_ + 1) + arr[t_] = back + +print(arr[t]) + +# 280 diff --git a/22/75.py b/22/75.py new file mode 100644 index 0000000..9665627 --- /dev/null +++ b/22/75.py @@ -0,0 +1,26 @@ +s, t = 3, 13 +c = [] +n = [8] +arr = [1] * (s + 1) + +for k in range(len(c) + 1): + s__ = s + 1 if k == 0 else c[k - 1] + 1 + s_ = s__ - 1 + t__ = c[k] + 1 if k < len(c) else t + 1 + t_ = t__ - 1 + for i in range(s__, t__): + e = 0 + if i - 1 >= s_ and not i - 1 in n: + e += arr[i - 1] + if i - 2 >= s_ and not i - 2 in n: + e += arr[i - 2] + if i % 2 == 0 and i // 2 >= s_ and not i // 2 in n: + e += arr[i // 2] + arr.append(e) + back = arr[t_] + arr = [0] * (t_ + 1) + arr[t_] = back + +print(arr[t]) + +# 40 diff --git a/22/82.py b/22/82.py new file mode 100644 index 0000000..2208c6a --- /dev/null +++ b/22/82.py @@ -0,0 +1,24 @@ +s, t = 1, 31 +c = [] +n = [25] +arr = [1] * (s + 1) + +for k in range(len(c) + 1): + s__ = s + 1 if k == 0 else c[k - 1] + 1 + s_ = s__ - 1 + t__ = c[k] + 1 if k < len(c) else t + 1 + t_ = t__ - 1 + for i in range(s__, t__): + e = 0 + if i - 1 >= s_ and not i - 1 in n: + e += arr[i - 1] + if (i - 1) % 2 == 0 and (i - 1) // 2 >= s_ and not (i - 1) // 2 in n: + e += arr[(i - 1) // 2] + arr.append(e) + back = arr[t_] + arr = [0] * (t_ + 1) + arr[t_] = back + +print(arr[t]) + +# 44 diff --git a/22/90.py b/22/90.py new file mode 100644 index 0000000..7905378 --- /dev/null +++ b/22/90.py @@ -0,0 +1,26 @@ +s, t = 2, 15 +c = [4, 11] +n = [] +arr = [1] * (s + 1) + +for k in range(len(c) + 1): + s__ = s + 1 if k == 0 else c[k - 1] + 1 + s_ = s__ - 1 + t__ = c[k] + 1 if k < len(c) else t + 1 + t_ = t__ - 1 + for i in range(s__, t__): + e = 0 + if i - 1 >= s_ and not i - 1 in n: + e += arr[i - 1] + if i - 2 >= s_ and not i - 2 in n: + e += arr[i - 2] + if i % 3 == 0 and i // 3 >= s_ and not i // 3 in n: + e += arr[i // 3] + arr.append(e) + back = arr[t_] + arr = [0] * (t_ + 1) + arr[t_] = back + +print(arr[t]) + +# 210 diff --git a/22/util.py b/22/util.py new file mode 100644 index 0000000..6f3db74 --- /dev/null +++ b/22/util.py @@ -0,0 +1,26 @@ +s, t = 3, 20 +c = [9] +n = [15] +arr = [1] * (s + 1) + +for k in range(len(c) + 1): + s__ = s + 1 if k == 0 else c[k-1] + 1 + s_ = s__ - 1 + t__ = c[k] + 1 if k < len(c) else t + 1 + t_ = t__ - 1 + for i in range(s__, t__): + e = 0 + if i - 1 >= s_ and not i - 1 in n: + e += arr[i-1] + if i - 2 >= s_ and not i - 2 in n: + e += arr[i-2] + # if i % 2 == 0 and i // 2 >= s_ and not i // 2 in n: + # e += arr[i // 2] + arr.append(e) + back = arr[t_] + arr = [0] * (t_ + 1) + arr[t_] = back + +print(arr[t]) + +# 280