华域联盟 vbs 用VBS精确计算2的100次方的代码

用VBS精确计算2的100次方的代码

既然Python可以计算2的100次方,那么我就要用VBS实现。不过这个效率嘛,计算2的10000次方Python用了0.009013秒,VBS用了120.9805秒,不是一个等级的,我就不多说什么了。

直接上代码:


复制代码 代码如下:

'Date: 2010/10/27

'Author: Demon

'QQ: 380401911

'E-mail: [email protected]

begin = Timer

n = 1

For i = 1 To 100

n = multiple(n, 2)

Next

finish = Timer

WScript.Echo n

WScript.Echo finish - begin

'Grade school multiplication, Algorithm 14.12

'http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf

Function multiple(byVal x, byVal y)

Dim n, t, i, j, z, w()

n = Len(x) - 1

t = Len(y) - 1

ReDim w(n + t + 1)

x = CStr(x) : y = CStr(y)

For i = 0 To UBound(w)

w(i) = "0"

Next

For i = 0 To t

Dim c : c = 0

Dim uv : uv = 0

For j = 0 To n

uv = (w(i+j)-"0") + c + _

(Mid(x,n-j+1,1)-"0") * (Mid(y,t-i+1,1)-"0")

w(i+j) = CStr(uv Mod 10 + "0")

c = uv \ 10

Next

w(i+n+1) = CStr(uv \ 10 + "0")

Next

z = Join(w,"")

z = StrReverse(z)

Do While Left(z,1) = "0"

z = Mid(z,2)

Loop

multiple = z

End Function

原文:http://demon.tw/programming/vbs-long-multiplication.html
您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » 用VBS精确计算2的100次方的代码

转载请保留出处和原文链接:https://www.cnhackhy.com/16023.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部