题解 | 跳台阶扩展问题

跳台阶扩展问题

https://www.nowcoder.com/practice/953b74ca5c4d44bb91f39ac4ddea0fee

#include <stdio.h>
#include<math.h>
int main() {
    int n;
    scanf("%d",&n);
    int result=(int)pow(2,n-1 );
    printf("%d",result);
    
}

f(n)=f(n-1)+f(n-2)+f(n-3)+...+f(1)+1

f(n-1)=f(n-2)+f(n-3)+f(n-4)+...+f(1)+1

上面的减去下面的得到f(n)=2f(n-1)

从最开始算:f(1)=1=2^{0}; f(2)=2*f(1)=2^{1};
f(3)=2*f(2)=2^{2};
...
f(n)=2*f(n-1)=2^{n-1}

直接用公式就行

全部评论

相关推荐

求实习的小白1213:华科去这 你是真敢去啊
点赞 评论 收藏
分享
04-11 21:31
四川大学 Java
野猪不是猪🐗:(ja)va学弟这招太狠了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务