POJ 1658 Eva's Problem
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 17778 | Accepted: 10871 |
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
CODE:
#include <iostream> #include <cstdio> #include <cstring> #define REP(i, s, n) for(int i = s; i <= n; i ++) #define REP_(i, s, n) for(int i = n; i >= s; i --) using namespace std; int main(){ int T, a, b, c, d; scanf("%d", &T); while(T --){ scanf("%d%d%d%d", &a, &b, &c, &d); if(d - c == c - b) printf("%d %d %d %d %d\n", a, b, c, d, d + (d - c)); else if(d / c == c / b) printf("%d %d %d %d %d\n", a, b, c, d, d * (d / c)); } return 0; }