回 帖 发 新 帖 刷新版面

主题:这题怎么做,哪位高手帮我一下,谢谢了!

火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定的规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-l站),都满足此规律。现给出的条件是:共有N个车站,始发站上车的人数为a,最后一站下车的人数是m(全部下车)。试问从x站开出时车上的人数是多少?
输入:a,n,m和x
输出:从x站开出时车上的人数。

回复列表 (共13个回复)

沙发

第几站  上车   下车   剩下人数
1        a               a
2        i      i        a+i-i=a
3        i+a    i        a+i+a-i=2a
4        2i+a   i+a      2a+2i+a-i-a=2a+i
5        3i+2a  2i+a     2a+i+3i+2a-2i-a=3a+2i
6        5i+3a  3i+2a    3a+2i+5i+3a-3i-2a=4a+4i
.......

板凳

这个能推算出怎么样的一个规律呢?

3 楼

1.618

的倍率,
怎么就从来没有人告诉我呢?

4 楼

首先要求出 i 的值,
然后根据站次计算某站上车的人

某站上车的人有一个倍数关系
某站开出时车上的人数=a-i + (该站次上车的人)
比如第5站上车的人=a-i + 3*i+2*a
3是倍数列的第2个=1.618^2
2是倍数列的第1个=1.618^1

某站上车的人数=1.618^(k-3)*i + 1.618^(k-4)*a

按题意已知a,n,m
即:a - i  +  i * 1.618^((n-1)-3) + a * 1.618^(((n-1)-4) = m
得:i= ( m - a - a * 1.618^(n-5) )/ ( 1.618^(n-4) -1 )

算得 i 的值后,某站 x 上开车的人数就是
f(x)= a - i + 1.618^(x-3)*i + 1.618^(k-4)*a
问题也就解决了

如果计算需要更精确的就用双精度的倍率 1.6180339887499

试试写出来看对不对?

5 楼

某站上车的人数=1.618^(k-3)*i + 1.618^(k-4)*a
这个K指的是什么啊,为什么要(K-3)*i,(k-4)*a

6 楼

費伯納西(Fibonacci)數列

定義如下,
X0 = 1
X1 = 1
Xn = Xn-1 + Xn-2, if n>1

不能用1.618算,因为不是整数,而且黄金分割是       (sqr(5)-1)/2
1.618只是个近似值。

它的通项是    an=1/√[(1+√5/2) n-(1-√5/2) n](n=1,2,3.....)
希望能帮上忙。

7 楼

谢谢谢谢,这才是有学问的人嘛,
我哪知道这些学问了
不过看得不太懂,你能不能用 sqr() 来代表开方再写一下?谢谢谢谢。
  比如说 1/根号5 =1 / sqr(5)

8 楼

不好意思,那个通项是不清楚,重写如下


An=    1   /      (       sqr (    (1+sqr(5)/2)*n-(1-sqr(5)/2)*n    )    )
                                                                                                 n=1,2,3,4........

9 楼

不好意思,还是不明白

(1+sqr(5)/2)*n - (1-sqr(5)/2)*n

为什么不可以合并同类项?

= n* (1+sqr(5)/2 - 1+sqr(5)/2)
= n* sqr(5)  ??????怎么会这样子的?

10 楼

再次道歉[em12]


两个n都是前面多项式的次数。*号应该为^号。

再次道歉,不好意思。

我来回复

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