2012年11月20日 星期二

門牌號碼

有一個程式設計師住在一條街上,這條街上的房子都在路的同一邊且門牌號碼是從1-2-3-4-....連續下來。有一天晚上他牽著他的狗出門散步,出門之後往左邊走,因為溜狗有點無聊,所以她順便把經過的房子的門牌號碼都加起來。隔天晚上他又出門溜狗,但這一次她往右走並且也把經過的門牌號碼加起來。讓他很驚訝的是:這兩次的數字竟然一樣。
當然,這個巧合現象跟這條街共有幾間房子(n),以及他住在第幾間房子(k)有關係。請寫出一個程式找出前十個滿足這樣條件的數對(k,n)。在輸出中有前2個這樣的數對。
每一對數字k,n的長度均為10,向右靠齊。請將檔案輸出至"out.txt"。 ※此題無須"in.txt"

輸出範例:
6 8
35 49

3 則留言:

  1. Private Sub Command1_Click()
    i = 1
    Do
    i = i + 1
    X = (((1 + i) * i) * 0.5) ^ 0.5
    If X = Int(X) Then Print X & " " & i
    DoEvents
    Loop
    Print
    Print ok
    End Sub

    回覆刪除
  2. Private Sub Form_Load()
    Open App.Path & "\out.txt" For Output As #1
    Me.Hide
    i = 2
    Do
    X = (((1 + i) * i) * 0.5) ^ 0.5
    If X = Int(X) Then Print #1, X & " " & i: mycount = mycount + 1
    i = i + 1
    Loop Until mycount = 10
    End
    Close #1
    End Sub

    回覆刪除
  3. 真不知道Bob怎麼去找出這規律....<(_ _)>
    Dim a As Double
    Dim all As Integer
    Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\out.txt" For Output As #2
    i = 7: all = 0
    Do
    a = (((i + 1) * i) * 0.5) ^ 0.5
    If a = Int(a) Then Print #2, a & " " & i: all = all + 1
    i = i + 1
    Loop Until all = 10
    Close #2
    End
    End Sub

    回覆刪除