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