#P1538. Extrapolation Using a Difference Table
Extrapolation Using a Difference Table
题目描述
一种古老的数列外推技术基于差分表的使用。以包含4个值的数列$3,6,10,15$为例,其差分表展示如下:
差分表构建规则:
- 第一列为原始数列
- 第二列(一阶差分)由相邻元素的差构成
- 第三列(二阶差分)由相邻一阶差分的差构成,以此类推
- 最后一列恒为单值($n$个元素的数列有$n$列,第$n$列为$n-1$阶差分)
外推方法:假设最高阶差分恒定,通过逆向计算各阶差分来预测后续数列值。下表演示了如何外推得到下一个值$21$(方框标注新增值):
输入格式
输入包含若干组外推请求。每组首行为整数$n$($1 \leq n \leq 10$)表示数列长度,$n=0$时程序终止。随后给出$n$个整数表示的数列,最后是外推次数$k$($k \geq 1$)。
输出格式
对每组请求,输出通过$k$次外推得到的第$n+k$项的值,格式为"Term X of the sequence is Y"。
样例输入
4 3 6 10 15 1
4 3 6 10 15 2
3 2 4 6 20
6 3 9 12 5 18 -4 10
0
样例输出
Term 5 of the sequence is 21
Term 6 of the sequence is 28
Term 23 of the sequence is 46
Term 16 of the sequence is -319268
提示
注意$k$可能极大,无法存储完整的差分表。
来源
North Central North America 1993