请在 下方输入 要搜索的题目:

题目描述楼梯有n阶,可以一步上一阶、两阶或三阶,问有多少种不同的走法由于答案很大,mod(1e9+7)输出输入数据一个正整数n,代表楼梯的阶数,n<=1000000输出数据方案数样例输入3样例输出4

题目描述楼梯有n阶,可以一步上一阶、两阶或三阶,问有多少种不同的走法由于答案很大,mod(1e9+7)输出输入数据一个正整数n,代表楼梯的阶数,n<=1000000输出数据方案数样例输入3样例输出4

发布时间:2025-06-15 07:23:58
推荐参考答案 ( 由 快搜搜题库 官方老师解答 )
联系客服
答案:【计分规则】: 算法基本思想:设f(n)为n阶台阶上楼的方案数,考虑最后一步可以跨过1级台阶,2级台阶或3级台阶,所以f(n)=f(n-1)+f(n-2)+f(n-3),过程中要取模。算法思想正确得60分。 参考的程序(C++):#include using namespace std; #define ll long long const int mod = 1000000007; ll vis[1000011]; ll fun(int n){ if(n==1) return 1; if(n==2) return 2; if(n==3) return 4; if(vis[n]) return vis[n]; return vis[n] = (fun(n-1)+fun(n-2)+fun(n-3))%mod; } int main(){ int n; cin>>n; cout<
专业技术学习
相关试题
专业技术学习
搜搜题库系统