Test Message

a005: Eva 的回家作業

內容

Eva 的家庭作業裡有很多數列填空練習。填空練習的要求是:已知數列的前四項,填出第五項。因 為已經知道這些數列只可能是等差或等比數列,她決定寫一個程式來完成這些練習。


輸入

第一行是數列的數目 t(0 <= t <= 20)。 以下每行均包含四個整數,表示數列的前四項。 約定數列的前五項均為不大於 105 的自然數,等比數列的比值也是自然數。

2
1 2 3 4
1 2 4 8

輸出

對輸入的每個數列,輸出它的前五項。

1 2 3 4 5
1 2 4 8 16


解題思路

利用等差數列每個值的差皆相同的特性判斷


完整程式碼

AC (2ms, 116KB)
#include <stdio.h>

int num[5], kase;

int main()
{
scanf(" %d", &kase);
while (kase--)
{
scanf(" %d %d %d %d", &num[0], &num[1], &num[2], &num[3]);

if (num[1] - num[0] == num[3] - num[2])
{
num[4] = num[3] + num[1] - num[0];
}
else
{
num[4] = num[3] * num[1] / num[0];
}
printf("%d %d %d %d %d\n", num[0], num[1], num[2], num[3], num[4]);
}
return 0;
}