aboutsummaryrefslogtreecommitdiff
path: root/challenge-104/colin-crain/python/ch-1.py
blob: 0000cabb32e514f274c2d488788063cfcdd8ad0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env python3
#
#
#       104-1-fusc-yuo-too.py
#
#
#
#       © 2021 colin crain
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##


import functools

@functools.lru_cache(maxsize=128)

def fusc(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
               
    if n % 2:
        return fusc( (n-1)/2 ) + fusc( (n+1)/2 )
    
    return fusc(n/2)


for n in range (1,11):
    print( fusc(n) )