1805: 【入门】数数游戏
内存限制:32 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:7
解决:7
题目描述
王老师为同学们讲解了斐波拉契数列的知识。斐波拉契数列指的是数列中,每项的值都等于前两项和的数列。同学们学习之后,想要尝试数一下这个数列的每一项的值,有n个同学参与了数数的过程(n<=10),每个人数一个数,这个数的值应该是他前面两位同学数的数字的和,其中一位同学数错了,导致他后面的同学都错了。
请你编程求出,数列中从哪位同学开始出的错?并输出如果他数对了,正确的数列的值应该是多少?
比如:6个同学参与数数,他们数出来的数列为1 1 2 4 6 10,那么从第4位同学开始出错,第4位同学的值应该是3,但他错误的计算为4,导致后面的同学都错了。
修正后的数列应该是1 1 2 3 5 8。
请你编程求出,数列中从哪位同学开始出的错?并输出如果他数对了,正确的数列的值应该是多少?
比如:6个同学参与数数,他们数出来的数列为1 1 2 4 6 10,那么从第4位同学开始出错,第4位同学的值应该是3,但他错误的计算为4,导致后面的同学都错了。
修正后的数列应该是1 1 2 3 5 8。
输入
第1行输入一个整数n(n<=10)
第2行输入n个整数,用空格隔开。(数据保证只有1位同学计算错误导致后续同学根据他的值计算出现错误,且第1位同学和第2位同学不可能出错)
输出
第1行输出从第几位同学开始出错的。
第2行输出正确的数列,有n个整数用空格隔开。
样例输入 复制
6
1 1 2 4 6 10
样例输出 复制
4
1 1 2 3 5 8