內容
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; }
|