題目連結
https://zerojudge.tw/ShowProblem?problemid=a005
解題思路
由題意可知輸入的數列只有等差數列或等比數列兩種可能,因此我們可以先用if_else條件句判斷輸入數列為等差數列還是等比數列,再依據等差數列兩相鄰項差相同、等比數列兩相鄰項比相同的性質推知第五項。
注意事項
根據題意,測資檔會包含多組測資,因此可使用for迴圈判斷程式執行的條件。
程式碼:C語言
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #include <stdio.h> int main() { int t; scanf("%d", &t); for(int i = 0 ; i < t ; i++) { int a[4]; scanf("%d %d %d %d", &a[0], &a[1], &a[2], &a[3]); if(a[1]-a[0] == a[2]-a[1]) printf("%d %d %d %d %d\n", a[0], a[1], a[2], a[3], a[3]+(a[1]-a[0])); else printf("%d %d %d %d %d\n", a[0], a[1], a[2], a[3], a[3]*(a[1]/a[0])); } return 0; }
|