2010年9月12日 星期日

產品包裝

內容 : 
某工廠生產4種正立方體產品,邊長分別為1,2,3,4公分,該工廠的包裝箱為4*4*4公分(不計算包裝箱厚度),現在有若干筆訂單,每一筆訂購單可能包括各種產品但數量可能不同,請計算每一筆訂購最少各需要多少的包裝箱。

輸入說明 :
每行是一筆訂購單,由四個整數組成,每個整數以一個空白間格,依序分別代表邊長1,2,3,4公分的產品數量,每一個數量均為不大於20000的非負整數,以一個空白隔開。

輸出說明 :
輸出各筆訂購的最少包裝箱數目,每一筆一行。

範例輸入 :
5 4 8 2 
12 14 32 7
範例輸出 :

11 41
              BY 阿揚

3 則留言:

  1. Private Sub Form_Load()
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Me.Hide
    Do Until EOF(1)
    k = 0
    Input #1, X1, X2, x3, x4
    k = k + Val(x4)
    k3 = x3
    k2 = (X2 + 7) \ 8
    k = k + k2 + k3
    X2 = k2 * 64 - (X2 * 2 ^ 3)
    x3 = k3 * 64 - (x3 * 3 ^ 3)
    If X1 - X2 - x3 > 0 Then
    k = k + ((X1 - X2 - x3 + 63) \ 64)
    End If
    Print #2, k,
    Loop
    End
    Close #2
    Close #1
    End Sub
    BY 阿揚

    回覆刪除
  2. Private Sub Form_Load()
    Me.Hide
    Dim A(4) As Integer
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    While Not EOF(1)
    Input #1, A(1), A(2), A(3), A(4)
    ans = (A(2) + 7) \ 8 + A(3) + A(4)
    A(2) = A(2) * 64 - (A(2) * 8)
    A(3) = A(3) * 64 - (A(3) * 27)
    If (A(1) - A(2) - A(3)) > 0 Then ans = ans + (A(1) - A(2) - A(3) + 63) \ 64
    Print #2, ans
    Wend
    Close #2
    Close #1
    End
    End Sub

    By小白

    回覆刪除
  3. 阿揚小白好,
    1.程式OK。
    2.阿揚的變數用得比較混亂,可以學一下小白的。
    3.變數安排混亂的話,不容易除錯。
    4.這題的題目的輸入還可以,但是,輸出就不符題意了吧,題目說是要每個一行的。你們在打題目時,要再仔細些。

    熊掌

    回覆刪除