Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def f(curr, end):
- if curr > end or curr == 11 or curr == 18:
- return 0
- if curr == end:
- return 1
- if curr < end:
- return f(curr + 1, end) + f(curr + 2, end) + f(curr * 3, end)
- print(f(4, 8) * f(8, 23))
- a = [0] * 25
- a[4] = 1
- for i in range(4, 8):
- if i + 1 <= a[i]:
- a[i + 1] += a[i]
- if i + 2 <= a[i]:
- a[i + 2] += a[i]
- if i * 3 <= a[i]:
- a[i * 3] += a[i]
- for i in range(8, 23):
- if i == 11:
- a[i] = 0
- if i == 18:
- a[i] = 0
- if i + 1 <= a[i]:
- a[i + 1] += a[i]
- if i + 2 <= a[i]:
- a[i + 2] += a[i]
- if i * 3 <= a[i]:
- a[i * 3] += a[i]
- print(a[23])
Advertisement
Add Comment
Please, Sign In to add comment