我的代碼:降低分數
Private Sub btnReduce_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnReduce.Click
Call Reduce()
End Sub
Function Reduce() As Single
Dim num As Integer = txtNum.Text
Dim deno As Integer = txtDeno.Text
For i = 1 To deno Step +1
If num Mod i = 0 Then
num = num/i
End If
If deno Mod i = 0 Then
deno = deno/i
End If
Next
lblOutputNum.Text = num
lblOutputDeno.Text = deno
End Function
當我進入2/4它給了我1/2。但是當我輸入3/6時,它會給我1/1。有誰知道它爲什麼這樣做?因爲我無法弄清楚這一點。感謝任何可以的人。
請考慮在以前的版本[降低分數(http://stackoverflow.com/questions/24093302/visual-basic-reducing-fractions)問題給你閱讀的鏈接。我沒有看到鏈接[簡化分形](http://stackoverflow.com/questions/5287514/how-to)中建議的計算[GCD](http://en.wikipedia.org/wiki/Greatest_common_divisor)的代碼 - 簡化的級分)。 –
是的,但那是C#? – user3695840
GCD確實不是語言特定的.... [GCD](http://simple.wikipedia.org/wiki/Gcd) - 和相應的[歐幾里得算法](http://en.wikipedia.org/wiki/Euclidean_algorithm )。 –