题目背景
火车从始发站(称为第11站)开出,在始发站上车的人数为aa,然后到达第22站,在第22站有人上、下车,但上、下车的人数相同,因此在第22站开出时(即在到达第33站之前)车上的人数保持为aa人。从第33站起(包括第33站)上、下车的人数有一定规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1n−1站),都满足此规律。现给出的条件是:共有NN个车站,始发站上车的人数为aa,最后一站下车的人数是mm(全部下车)。试问xx站开出时车上的人数是多少?
输入输出格式:
输入格式:
a(≤20),nn(≤20),mm(≤2000),和xx(≤20),输出格式:
从xx站开出时车上的人数。输入输出样例
输入样例#1: 5 7 32 4 输出样例#1: 13代码如下:
数学思考问题:
*找规律
根据上车人数、下车人数、车上人数所满足的规律,建立如上关系。
已知第一站上车人数a、总站数及最后一站下车人数。
**因为最后一站(第n站)所有人都下车,不会再有上车的人。则有最后一站下车人数=当人在第n-1站时,车上总人数;则可通过此n-1站和第n站的关系计算出b的值。
可根据关系式3算出b的值。
则有:m=f[n-3]*a+a+f[n-2]b-b,求解=>b=(m-f[n-3]*a-a)/(f[n-2]-1);
求出之后,将b的值代入想要求解的第X站上车人数。
即:S=f[X-2]*a+f[X-1]*b.
求解过程结束。
方法看似简单,但规律不容易寻找啊。