2017-03-08 23 views
0

我的目標是覆蓋所有可能的方程式(整數)以獲得特定數字並將結果提取到文本文件。Visual Basic 6 ::涵蓋所有方程以獲得特定結果

這裏是我當前的VB6代碼:

Private Sub Form_Load() 

Dim myFile, parameterA, parameterB, parameterC, equalTo As Integer 
myFile = FreeFile 

equalTo = 10 

parameterA = 0 
parameterB = 0 
parameterC = 0 

parameterA = equalTo 

Open App.Path + "\gangina.txt" For Output As #myFile 

Do 

Print #myFile, Format(parameterA, "00") & " + " & Format(parameterB, "00") & " + " & Format(parameterC, "00") & " = " & equalTo 

parameterA = parameterA - 1 
parameterB = parameterB + 1 

Loop Until parameterA < 0 

Close #myFile 

End Sub 

電流輸出:

10 + 00 + 00 = 10 
09 + 01 + 00 = 10 
08 + 02 + 00 = 10 
07 + 03 + 00 = 10 
06 + 04 + 00 = 10 
05 + 05 + 00 = 10 
04 + 06 + 00 = 10 
03 + 07 + 00 = 10 
02 + 08 + 00 = 10 
01 + 09 + 00 = 10 
00 + 10 + 00 = 10 

(......顯然)我期待得到:

等...

謝謝! :)

+0

是否順序有關係嗎?看起來你只需要添加一個從(equalTo - parameterA)到0的內部循環。外部循環將parameterA從等於0遞減到0.內部循環將參數B從(equalTo - parameterA)遞減到0並且你只計算參數C 。你可以用For循環代替Do循環。 – Marc

+0

請注意,Dim myFile,parameterA,parameterB,parameterC,equalToAs Integer'聲明myFile和參數變量爲Variant,而非Integer。 – HardCode

回答

1

對於這樣do循環

Do 
    parameterB = equalTo - parameterA 

    Do 
     parameterC = equalTo - parameterA - parameterB 

     Print #myFile, Format(parameterA, "00") & " + " & Format(parameterB, "00") & " + " & Format(parameterC, "00") & " = " & equalTo 

     parameterB = parameterB - 1 
    Loop Until parameterB < 0 

    parameterA = parameterA - 1 
Loop Until parameterA < 0 

隨着for循環

For parameterA = equalTo To 0 Step -1 
    For parameterB = (equalTo - parameterA) To 0 Step -1 
     parameterC = equalTo - parameterA - parameterB 

     Print #myFile, Format(parameterA, "00") & " + " & Format(parameterB, "00") & " + " & Format(parameterC, "00") & " = " & equalTo 
    Next parameterB 
Next parameterA 
+0

非常感謝! :) – PUG