poj 1658 Eva's Problem
Eva's Problem
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 14397
Accepted: 8705
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
1: #include<iostream>
2: using namespace std;
3: int main()
4: {
5: int t;
6: int in[5];
7: int i,j;
8: int minu;
9: int divi;
10: cin>>t;
11: while(t--)
12: {
13: for(i=0;i<4;i++)
14: cin>>in[i];
15: minu=in[1]-in[0];
16: divi=in[1]/in[0];
17: for(i=0;i<3;i++)
18: {
19: if(minu!=(in[i+1]-in[i]))
20: break;
21: }
22: if(i==3)
23: in[4]=minu+in[3];
24: for(j=0;j<3;j++)
25: {
26: if(divi!=(in[i+1]/in[i]))
27: break;
28: }
29: if(j==3)
30: in[4]=divi*in[3];
31: for(i=0;i<5;i++)
32: cout<<in[i]<<"";
33: cout<<endl;
34: }
35: return 0;
36: }
37: