【发布时间】:2014-06-08 07:33:14
【问题描述】:
我的代码:
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。有谁知道它为什么这样做?因为我无法弄清楚这一点。感谢任何可以做到的人。
【问题讨论】:
-
请考虑阅读以前版本的reduce fraction 问题中提供给您的链接。我没有看到链接 simplify fractoions 中建议的计算 GCD 的代码。
-
GCD 确实不是特定于语言的......GCD - 以及对应的Euclidean algorithm。
-
我还是不明白,我用的是欧几里得算法,什么都没用。