vb设计了一个解一元二次方程的程序想当sqr(b²-4ac)若不等于有理数时,则结果显示
答案:3 悬赏:10
解决时间 2021-11-11 01:47
- 提问者网友:时间却是纷扰
- 2021-11-10 01:41
(-b±根号b²-4ac)/2a 也就是说不再化简了 当sqr(b²-4ac)若等于有理数时,那就继续化简 应该怎么办???求高手解答
最佳答案
- 二级知识专家网友:转身后的回眸
- 2021-11-10 01:49
这与abc是什么类型的有关,如果abc是有理数,则是否abc要表达成
A1/A2,B1/B2和C1/C2?如果是这样,第一步先将abc同乘A2B2C2,变成整数ABC,然后调用以下函数。(如果需要通分,需要再开发一个因数分解的子程序,在GetResult内调用)
Private Function GetResult(a As Integer, b As Integer, c As Integer) As String
Dim sqrtNumber As Integer = b * b - 4 * a * c
If Int(Math.Sqrt(sqrtNumber)) = Math.Sqrt(sqrtNumber) Then
Dim s As Integer = Math.Sqrt(sqrtNumber)
If s = 0 Then
If (-b) Mod (2 * a) = 0 Then
Return (-b / 2 / a).ToString()
Else
Return -b.ToString & " / " & (2 * a).ToString()
End If
Else
Dim sb As New System.Text.StringBuilder
If (-b + s) Mod (2 * a) = 0 Then
sb.Append((-b + s) / (2 * a))
sb.Append(" 或 ")
Else
sb.Append((-b + s))
sb.Append(" / ")
sb.Append(2 * a)
sb.Append(" 或 ")
End If
If (-b - s) Mod (2 * a) = 0 Then
sb.Append((-b - s) / (2 * a))
Else
sb.Append((-b - s))
sb.Append("/")
sb.Append(2 * a)
End If
Return sb.ToString()
End If
Else
Return "(" & -b.ToString() & "±√" & sqrtNumber.ToString() & ") / " & (2 * a).ToString()
End If
End Function
A1/A2,B1/B2和C1/C2?如果是这样,第一步先将abc同乘A2B2C2,变成整数ABC,然后调用以下函数。(如果需要通分,需要再开发一个因数分解的子程序,在GetResult内调用)
Private Function GetResult(a As Integer, b As Integer, c As Integer) As String
Dim sqrtNumber As Integer = b * b - 4 * a * c
If Int(Math.Sqrt(sqrtNumber)) = Math.Sqrt(sqrtNumber) Then
Dim s As Integer = Math.Sqrt(sqrtNumber)
If s = 0 Then
If (-b) Mod (2 * a) = 0 Then
Return (-b / 2 / a).ToString()
Else
Return -b.ToString & " / " & (2 * a).ToString()
End If
Else
Dim sb As New System.Text.StringBuilder
If (-b + s) Mod (2 * a) = 0 Then
sb.Append((-b + s) / (2 * a))
sb.Append(" 或 ")
Else
sb.Append((-b + s))
sb.Append(" / ")
sb.Append(2 * a)
sb.Append(" 或 ")
End If
If (-b - s) Mod (2 * a) = 0 Then
sb.Append((-b - s) / (2 * a))
Else
sb.Append((-b - s))
sb.Append("/")
sb.Append(2 * a)
End If
Return sb.ToString()
End If
Else
Return "(" & -b.ToString() & "±√" & sqrtNumber.ToString() & ") / " & (2 * a).ToString()
End If
End Function
全部回答
- 1楼网友:冷眼_看世界
- 2021-11-10 02:40
不理解
(-b±根号b²-4ac)/2a 也就是说不再化简了 当sqr(b²-4ac)若等于有理数时,那就继续化简
是什么意思?
举个具体例子。
- 2楼网友:樣嘚尐年
- 2021-11-10 02:29
你好!
不理解
(-b±根号b²-4哗阀糕合蕹骨革摊宫揩ac)/2a 也就是说不再化简了 当sqr(b²-4ac)若等于有理数时,那就继续化简
是什么意思?
举个具体例子。
如果对你有帮助,望采纳。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯