python3蒟蒻的绝望

P1255 数楼梯

dd100225 @ 2022-05-16 20:33:25

def floor(n):
    if n == 1:
        return 1
    if n == 2:
        return 2
    return floor(n - 1) + floor(n - 2)

print(floor(int(input())))

造孽啊

A:1 2 5 6

T:3 4 7

R:8 9 1 0


by 奔波儿灞 @ 2022-05-16 20:37:00

用递推啊

n=int(input())-1
a=1
b=1
if n > 0 :
    while n>0 :
        c=a+b
        a=b
        b=c
        n=n-1
    print(b)
elif n == 0 :
    print(a)
else :
    a-=1
    print(a)

by dd100225 @ 2022-05-16 20:39:09

谢谢你


by lsj2009 @ 2022-05-16 20:39:36

@dd100225 你这个时间复杂度 2^n,应该使用楼上 O(n) 的代码。


by dd100225 @ 2022-05-17 20:01:45

@lsj2009 谢谢提醒


|