Eva's Problem
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 17902 | Accepted: 10954 |
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
Source
/***********************************************************************
Copyright (c) 2015,wangzp
All rights no reserved.
Name: 《Eva's Problem》In PEKING UNIVERSITY ACM
ID: PROBLEM 1658
问题简述: 计算出等差数列或者等比数列的第5个数
Date: Oct 8, 2015
***********************************************************************/
#include
#include
int main(void)
{
int n,i,j,k,d,q;
int a[5];
scanf("%d",&n);
for (i = 0;i < n;i++)
{
memset(a,0,5*sizeof(int));
for (j = 0;j < 4;j++)
{
scanf("%d",&a[j]);
}
if ((a[1] - a[0]) == (a[3] - a[2]))
{
d = a[1] - a[0];
a[4] = a[3] + d;
}
else
{
q = a[1] / a[0];
a[4] = a[3] * q;
}
for (k = 0;k < 4;k++)
{
printf("%d ",a[k]);
}
printf("%d\n",a[4]);
}
return 0;
}