blob: eb88e1530798d71952a4ebc7839d3289840ef65c (
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
30
31
32
33
34
35
36
37
38
39
40
41
|
'''
TASK #1 › FUSC Sequence
Submitted by: Mohammad S Anwar
Write a script to generate first 50 members of FUSC Sequence. Please refer to OEIS for more information.
The sequence defined as below:
fusc(0) = 0
fusc(1) = 1
for n > 1:
when n is even: fusc(n) = fusc(n / 2),
when n is odd: fusc(n) = fusc((n-1)/2) + fusc((n+1)/2)
'''
#Create hash: key (numbers 0-max), value (result fusc)
fusc = {0: 0, 1: 1}
maxi = 50
def sequenceFusc():
n = 2
while (n <= maxi):
#if is even:
if (n % 2 == 0):
fusc[n] = fusc[n/2]
else:
fusc[n] = fusc[(n-1)/2] + fusc[(n+1)/2]
n += 1
def printSequence():
n = 0
result = ''
while (n <= maxi):
result += "{}, ".format(fusc[n])
n += 1
result = result[:-2]
print(result)
sequenceFusc()
printSequence()
|