2011年3月27日 星期日

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

程式碼:
#include<stdio.h>

int main()
{
    int i,j,n,arr[4];
    
    while(scanf(" %d",&n)==1)
    {
        for(j=0;j<n;j++)
        {
            for(i=0;i<4;i++)
                scanf(" %d",&arr[i]);
            for(i=0;i<4;i++)
                printf("%d ",arr[i]);
            if( (arr[1]-arr[0]) == (arr[2]-arr[1]) )
                printf("%d\n",arr[3]+arr[1]-arr[0]);
            else
                printf("%d\n",arr[3]*arr[1]/arr[0]);
        }
    }
    return 0;
}

http://zerojudge.tw/ShowProblem?problemid=a005

沒有留言:

張貼留言