2012年4月16日 星期一

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

5 則留言:

  1. Private Sub Form_Load()
    Dim w, x, y, z As Long
    Me.Hide
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Input #1, n
    For i = 1 To n
    Input #1, w, x, y, z
    Print #2, w; x; y; z;
    If x / w = z / y Then
    Print #2, z * (x / w)
    Else
    Print #2, z + (x - w)
    End If
    Next
    Close
    Close
    End
    End Sub

    回覆刪除
  2. 作者已經移除這則留言。

    回覆刪除
  3. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Input #1, n
    For i = 1 To n
    Input #1, a, b, c, d
    If (d / c) = (c / b) Then
    x = d / c
    Print #2, a; b; c; d; d * x
    Else
    x = d - c
    Print #2, a; b; c; d; d + x
    End If
    Next i
    Close
    Close
    End

    回覆刪除
  4. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Input #1, n
    For i = 1 To n
    Input #1, v, w, x, y
    If (w + y) / 2 = x Then Print #2, v; w; x; y; y + (w - v)
    If w / v = x / w Then Print #2, v; w; x; y; y * x / w
    Next i
    Close #2
    Close #1
    End
    End Sub

    回覆刪除
  5. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Input #1, n
    For i = 1 To Val(n)
    Input #1, a, b, c, d
    If Val(b) - Val(a) = Val(d) - Val(c) Then
    Print #2, a; b; c; d; d + (c - b)
    ElseIf Val(b) / Val(a) = Val(d) / Val(c) Then
    Print #2, a; b; c; d; (c / b) * d
    End If
    Next i
    Close #2
    Close #1
    End
    End Sub

    回覆刪除