世界第一难的free pascal循环问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 06:08:10
题目是:某人上台阶,一步可以走一个台阶,也可以走两个台阶,还可以走三个台阶。问他走到10层台阶时共有多少种不同走法?

谁能把程序编给我?

这样吧
var i,j,k:integer;
begin
for i:=1 to 10 do
for j:=1 to 5 do
for k:=1 to 3 do
if i+j*2+k*3=10 then
writeln(i,j,k);
readln;
end.

怎么楼上那么喜欢骂人,你学斐波那契数列时别人骂你了吗?
用F[I]表示上到第I级台阶时的方法数
因为F[I]只能由F[I-1],F[I-2],F[I-3]三种状态到达,所以递推式
F[I]=F[I-1]+F[I-2]+F[I-3]

Var F:Array[0..10]of Longint;
I:Longint;
Begin
F[0]:=1;
F[1]:=1;
F[2]:=2;
For I:=3 to 10 do
F[I]:=F[I-1]+F[I-2]+F[I-3];
Writeln(F[10]);
End;

你是不是太笨了..
这叫世界第一难. 你估计NOIP三等奖都拿不到 猪


子..

傻瓜,菲薄那奇数列