Computer Transformation UVA - 1647

发布时间 2023-04-11 22:14:52作者: towboat

 

初始串为一个1,每一步会将每个0改成10,每个1改成01,因此1会依次变成
01,
1001,
01101001,…
 
输入n(n≤1000),统计n步之后得到的串中,
“00”这样的连续两个0出现了多少次

 

f =[0]*1003
g =[0]*1003

f[1]=0
g[1]=1

for i in range(2,1000):
    f[i]= g[i-1]
    g[i]=f[i-1]+pow(2,i-2)

while 1:
    try:
        n=int(input())
        print(f[n])
    except EOFError:
        break