2022级统计计算机双学位《程序设计原理与C语言》上机作业

1012. 线性插值法

单点时限: 1.0 sec

内存限制: 512 MB

通过实验收集数据,是研究问题的一个重要环节。我们通常假设输入数据和输出结果之间符合某个函数 $f(x)$ ,而观测到的数据就是对应函数曲线上的坐标点。对于一些不在原始数据集中的数据,把它当作函数 $f(x)$ 的输入值 $x$ ,可以通过这些已有数据点来对 $x$ 对应的函数值进行估算。

例如,假设已有的数据点是点 A $(a,f(a))$ 和点 B $(b,f(b))$,如果想要估计 $f(c)$ 的值 $(b < c < a)$,我们可以使用线性插值法,假设点 A $(a,f(a))$ 和点 B $(b,f(b))$ 的坐标点之间通过一条直线连接,而点 C $(c,f(c))$ 的坐标点就在这条直线上。

输入格式

输入 $a, f(a) ,b ,f(b) ,c$ ,根据线性插值法计算 $f(c)$ 的值。

输入数据保证 $b < c < a$。

输入的数据均为 double类型。

输出格式

输出线性插值法计算的 $f(c)$ 的值,四舍五入保留到小数点第3位。

样例

Input
4 8 2 2 3
Output
5.000