国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

用VBS精確計算2的100次方的代碼

2020-06-26 18:25:49
字體:
來源:轉載
供稿:網友
即Grade school multiplication(小學乘法?)算法的VBS實現。
 
既然Python可以計算2的100次方,那么我就要用VBS實現。不過這個效率嘛,計算2的10000次方Python用了0.009013秒,VBS用了120.9805秒,不是一個等級的,我就不多說什么了。 

直接上代碼: 
復制代碼代碼如下:

'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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海阳市| 青神县| 易门县| 抚顺县| 泾川县| 兴海县| 松滋市| 怀安县| 保山市| 二手房| 蚌埠市| 西乌| 梨树县| 通榆县| 綦江县| 平武县| 开平市| 东兰县| 宜章县| 乐业县| 惠安县| 丰台区| 宾川县| 缙云县| 波密县| 武川县| 尉氏县| 延安市| 元朗区| 长春市| 桐柏县| 霍州市| 昌江| 隆尧县| 咸丰县| 敖汉旗| 仪征市| 措勤县| 榆树市| 鄂伦春自治旗| 山东省|