主题:如何用QB求根号2?
54BB
[专家分:380] 发布于 2005-04-16 22:06:00
[em1]
回复列表 (共15个回复)
11 楼
∑為鍇鋮伦 [专家分:50] 发布于 2005-05-25 21:20:00
真的好难啊。。
我都没学到这个。
12 楼
moz [专家分:37620] 发布于 2005-05-25 23:24:00
其实不难
我也没学过这些
但看得懂就能学到了.
13 楼
prairiewolf [专家分:290] 发布于 2005-07-06 05:17:00
IF n < sum THEN EXIT FOR
这个不理解,如果N=5的话,SUM=1+3+5+… 5肯定是小于SUM的,那这句话是什么意思
注:我是在看过飞鸟的之后。
14 楼
mysister0419 [专家分:100] 发布于 2005-07-06 13:28:00
大家讲的方法都不错 可是不就是一个用Sqr函数能解决的问题么
而影响开平方的数值精度主要是数据类型,可以看以下两个程序
Private Sub Form_Load()
Dim a As Single
a = Sqr(23)
Text1 = a
End Sub
运行结果为4.795832 (连小数点一共八位)
Private Sub Form_Load()
Text1 = Sqr(23)
End Sub
运行结果为4.79583152331272 (连小数点公16位)
15 楼
飞鸟12 [专家分:2830] 发布于 2005-07-06 17:22:00
TO 14楼的:
拜托,谁不会SQR(x),要的是这个函数怎么编写。
TO 13楼
如果n = 5,那么sum = 1 + 3 + 5
(开始时sum = 0)
程序主要是为得到 相应 的 i
后来突然想到,如果要计算mysqr(2)
比如执行 mysqr(2×10^4)/10^2 就可以提高精度到0.01
当然,如果要更高的精度(比如小数点后30位),就需要采用别的方法表示要求的数
我想到的最简单的方法就是用数组(a(0)为个位,a(1)为十位,a(2)为百位,……)
比如 DIM a(50) AS INTEGER
然后 a(30)=2 ,a(0)=a(1)=...=a(29)=0
它就表示2×10^30
再相应的改进算法,使之用数组表示数字
我来回复