最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用VBS精確計(jì)算2的100次方的代碼

 更新時(shí)間:2011年01月21日 23:20:52   作者:  
即Grade school multiplication(小學(xué)乘法?)算法的VBS實(shí)現(xiàn)。
既然Python可以計(jì)算2的100次方,那么我就要用VBS實(shí)現(xiàn)。不過這個(gè)效率嘛,計(jì)算2的10000次方Python用了0.009013秒,VBS用了120.9805秒,不是一個(gè)等級(jí)的,我就不多說什么了。

直接上代碼:
復(fù)制代碼 代碼如下:

'Date: 2010/10/27
'Author: Demon
'QQ: 380401911
'E-mail: still.demon@gmail.com

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

相關(guān)文章

最新評(píng)論

栾城县| 洛南县| 青冈县| 威宁| 通城县| 新津县| 绍兴县| 贵港市| 毕节市| 马鞍山市| 神池县| 和硕县| 灵丘县| 金湖县| 波密县| 徐州市| 改则县| 宣城市| 宜川县| 万安县| 额敏县| 二连浩特市| 津南区| 成武县| 南岸区| 岑巩县| 大余县| 资讯 | 柳河县| 台北市| 化隆| 泰州市| 亚东县| 龙里县| 渝中区| 西吉县| 赞皇县| 建水县| 家居| 鄂托克前旗| 容城县|