Description
Eva的家庭作业里有很多数列填空练习。填空练习的要求是:已知数列的前四项,填出第五项。因为已经知道这些数列只可能是等差或等比数列,她决定写一个程序来完成这些练习。
Input
第一行是数列的数目t(0 <= t <= 20)。以下每行均包含四个整数,表示数列的前四项。约定数列的前五项均为不大于10^5的自然数,等比数列的比值也是自然数。
Output
对输入的每个数列,输出它的前五项。
Sample Input
2
1 2 3 4
1 2 4 8
Sample Output
1 2 3 4 5
1 2 4 8 16
Solution
水题
首先判断数列类型,然后递推输出第五项即可
Code
#include<stdio.h>
int main()
{
int a,b,c,d,n;
scanf("%d",&n);
while(n)
{
scanf("%d%d%d%d",&a,&b,&c,&d);
if(b-a==c-b&&c-b==d-c)//等差数列
printf("%d %d %d %d %d\n",a,b,c,d,2*d-c);
else//等比数列
printf("%d %d %d %d %d\n",a,b,c,d,d*d/c);
n--;
}
}