展开全部
var
m,num:longint;
procedure next(step,n:integer;var m,num:longint);
{step步数,n累加总级数,m给定级数,num路径数}
begin
if step>=0 then
begin
if n=m then inc(num);
if n<m then next(step-1,n+1,m,num);
if n<m-1 then next(step-1,n+2,m,num);
end;
end;
begin
readln(m);
num:=0;
next(m,0,m,num);
writeln(num);
end.
递归解法。踏步台阶数在35以内速度非常快。
答案实际上就是菲波纳稧级数
追答
不用f(n)=f(n-1)+f(n-2)这个递推公式,这是复杂度最小的算法。
由此也可以推广到一步走一级、二级、三级甚至更多级的情况!
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询