回 帖 发 新 帖 刷新版面

主题:请教大家三道题

1、设有一个共有n级的楼梯,某人每步可走1级,也可走2级,也可走3级,用递推公式给出某人从底层开始走完全部楼梯的走法。
例如:当n=3时,共有4种走法,即:1+1+1,  1+2,  2+1,  3。
2、75名儿童到游乐场去玩。他们可以骑旋转木马,坐滑行铁道,乘宇宙飞船。已知其中20人这三种东西都玩过,55人至少玩过其中的两种。若每样乘坐一次的费用是5元,游乐场总共收入700,可知有[u]    [/u]名儿童没有玩过其中任何一种。
3、将数组{32, 74, 25, 53, 28, 43, 86, 47}中的元素按从小到大的顺序排列,每次可以交换任
意两个元素,最少需要交换[u]      [/u]次。

我是个新手,这三道题我怎么也想不通,请各位高手帮帮忙吧

回复列表 (共8个回复)

沙发

1:函数f
f[1]=1 f[2]=2 f[3]=3
f[i]=f[i-1]+f[i-2]+f[i-3]
做到n
2:好像不是编程题阿
3:你先看,如果两个数一换就都到位了,就换
然后就随便你换了,每次一个数到位便可

板凳

多谢!

3 楼

1.好象是一个数列,(名字忘了) 第N级的步数=第(N-1)+(N-2)的步数和.
2.是一个数学问题,我以前做过的,好象是10,印象不太深了,应该对的吧.
3.这题是不是去年信息学预赛的一道数学题,我去年算错了,印象较深刻.

4 楼

错了,看成两级了1楼的是对的
[em8]

5 楼

第一题递推
第二题用数学方法解答,然后输出就可以了

6 楼

第二题是一年初赛的问题求解吧
不要编程的

7 楼

谁能编一下第一题,写出程序??????谢谢!

8 楼

var n,i,j:longint;
    f:array[1..1000] of longint;
begin
  read(n);
  f[1]=1: f[2]=2: f[3]=3:
  for i:=4 to n do
    f[i]=f[i-1]+f[i-2]+f[i-3];
  writeln(f[n]);
end.
不知一楼的思路对否,没验证.编写程序就简单了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册