vb 分数转换为小数,小数循环时显示0.(循环节)无限不循环时显示前100位.重谢
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/17 17:21:28
vb 分数转换为小数,小数循环时显示0.(循环节)无限不循环时显示前100位.重谢
帮帮 兄弟
帮帮 兄弟
![vb 分数转换为小数,小数循环时显示0.(循环节)无限不循环时显示前100位.重谢](/uploads/image/z/8298650-2-0.jpg?t=vb+%E5%88%86%E6%95%B0%E8%BD%AC%E6%8D%A2%E4%B8%BA%E5%B0%8F%E6%95%B0%2C%E5%B0%8F%E6%95%B0%E5%BE%AA%E7%8E%AF%E6%97%B6%E6%98%BE%E7%A4%BA0.%EF%BC%88%E5%BE%AA%E7%8E%AF%E8%8A%82%EF%BC%89%E6%97%A0%E9%99%90%E4%B8%8D%E5%BE%AA%E7%8E%AF%E6%97%B6%E6%98%BE%E7%A4%BA%E5%89%8D100%E4%BD%8D.%E9%87%8D%E8%B0%A2)
下面的代码无限不循环时显示前500位
Private Sub Form_Load()
MsgBox GetDot(1, 111)
End Sub
Function GetDot(ByVal m As Integer, ByVal n As Integer)
Dim s As String
Dim arr() As Integer
ReDim arr(0)
Dim num As Integer
s = m \ n & "."
m = m Mod n
arr(0) = m
Do
Do
m = m * 10
s1 = s1 & m \ n
Loop While m < n And m > 0
m = m Mod n
x = BinSearch(arr, m, 0, num)
If x < 0 Then
num = num + 1
ReDim Preserve arr(num)
arr(num) = m
Else
Exit Do
End If
Loop While m And Len(s1) < 300
GetDot = s & s1
End Function
Public Function BinSearch(ByRef a, ByVal Key, Optional ByVal Left, Optional ByVal Right)
'二分法查找
Dim low As Integer, high As Integer
Dim m As Integer
If IsMissing(Left) Then Left = LBound(a)
If IsMissing(Right) Then Right = UBound(a)
low = Left: high = Right
BinSearch = Left - 1
Do While (low Key Then
high = m - 1
Else
low = m + 1
End If
Loop
End Function
Private Sub Form_Load()
MsgBox GetDot(1, 111)
End Sub
Function GetDot(ByVal m As Integer, ByVal n As Integer)
Dim s As String
Dim arr() As Integer
ReDim arr(0)
Dim num As Integer
s = m \ n & "."
m = m Mod n
arr(0) = m
Do
Do
m = m * 10
s1 = s1 & m \ n
Loop While m < n And m > 0
m = m Mod n
x = BinSearch(arr, m, 0, num)
If x < 0 Then
num = num + 1
ReDim Preserve arr(num)
arr(num) = m
Else
Exit Do
End If
Loop While m And Len(s1) < 300
GetDot = s & s1
End Function
Public Function BinSearch(ByRef a, ByVal Key, Optional ByVal Left, Optional ByVal Right)
'二分法查找
Dim low As Integer, high As Integer
Dim m As Integer
If IsMissing(Left) Then Left = LBound(a)
If IsMissing(Right) Then Right = UBound(a)
low = Left: high = Right
BinSearch = Left - 1
Do While (low Key Then
high = m - 1
Else
low = m + 1
End If
Loop
End Function
vb 分数转换为小数,小数循环时显示0.(循环节)无限不循环时显示前100位.重谢
无限小数怎样化成分数如0.123(循环)
就是正数,负数,奇数,偶数,整数,分数,真分数,假分数,带分数,小数,有限小数,无限小数,循环小数,无限不循环,小数,纯
整数和分数统称为有理数,但是无理数的定义是无限不循环的小数是无理数,那无限不循环小数不也是分数么
VB 用循环语句显示以下图案
数学上无限不循环的小数有哪些?
在循环小数0.ABC中【ABC的循环】小数部分前60位上的数字之和是100,这个循环小数的循环节最大是多少?最
循环节为2 ,3 的小数0.213如何用分数来表示(循环节不是1,2,3)
VB中For循环的循环变量可以为小数吗?
求讲解有理数的概念,0是不是有理数,小数和分数,无限循环与不循环小数,越具体越好,
有循环节的小数是分数吗?
我们把整数部分为0,小数部分是6位循环节的纯循环小数叫做“六循环数”,例如0.142856,0.654321都是“六循环