用VBS精确计算2的100次方的代码_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

时间: 2024-09-28 04:25:53

用VBS精确计算2的100次方的代码_vbs的相关文章

VBS的各种应用的比较实用小代码_vbs

VBS应用- -                                         VBS脚本病毒的大量流行使我们对VBS的功能有了一个全新的认识,现在大家对它也开始重视起来.VBS代码在本地是通过Windows Script Host(WSH)解释执行的.VBS脚本的执行离不开WSH,WSH是微软提供的一种基于32位Windows平台的.与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或命令提示符下运行.利用WSH,用户能够操纵WSH对象.ActiveX对象.注册

纯vbs实现zip压缩与unzip解压缩函数代码_vbs

压缩代码: 复制代码 代码如下: Zip "D:\test.iso", "D:\test.zip" Zip "D:\test", "D:\test.zip" Msgbox "OK" Sub Zip(ByVal mySourceDir, ByVal myZipFile) Set fso = CreateObject("Scripting.FileSystemObject") If fso.

使用vbs脚本添加程序到自启动项的代码_vbs

因编辑器过滤了一些字符,比如&,所以下面的脚本可能会运行错误..看官添加&&这个字符就可以了. vbs脚本的功能呢是很多的,不过有时候我们只需要其中的某些功能,今天我突然想研究下怎么用vbs脚本实现添加程序到自启动项...... 首先来一段吧... 复制代码 代码如下: '========================================================================== ' ' VBScript Source File -- Cre

CMD和vbs修改 IP地址及DNS的实现代码_vbs

修改IP cmd /c netsh interface ip set address name=" 本地连接" source=static addr=211.82.56.253 mask=255.255.255.0 gateway=211.82.56.1 gwmetric=1 修改DNS cmd /c netsh interface ip set dns name="本地连接" source=static addr=202.99.192.66 配置或更新IP地址:

VBS实现DOC转为文本文档的代码_vbs

打开记事本输入:  复制代码 代码如下: ON ERROR RESUME NEXT  set args=wscript.arguments  arg=args(0)  set w=createobject("word.application")  set fso=createobject("scripting.filesystemobject")  set docfile=fso.getfile(arg)  docpath=docfile.path  pt=left

vbs实现的eMule电驴自动关机脚本代码_vbs

Set fso = CreateObject("Scripting.FileSystemObject") Set ws = WScript.CreateObject("WScript.Shell") Count = 0 Do Until Count< -1     chksize = fso.GetFolder("C:\Program Files\eMule\Temp").Size     If chksize = 0 Then      

VBS和UAC用户帐户控制实现代码_vbs

虽然很多人觉得这个功能很鸡肋,但是以VBS的角度来看,UAC还是多多少少有点用的.在UAC的限制下,直接双击VBS文件只能在标准用户权限下运行,很多事情是做不了的,比如复制自身到windows文件夹,或者写入注册表的开机启动项等等.在XP下非常猖獗的暴风一号病毒,放到Win7下也就只能改改文件夹属性为隐藏罢了,其他什么都做不了.当然了,一些不明真相的同学喜欢把UAC功能关掉,然后装个叫什么359还是361的所谓安全软件.我也不好多说什么,不然会遭到围观的. 双击VBS文件系统不会自动弹出UAC窗

vbs xmldom初次实战获取QQ签名的代码_vbs

'/*=========================================================================    ' * Intro       用XMLDOM分析QQ签名文档    ' * FileName    QQ_QianMing.vbs    ' * Author      yongfa365    ' * Version     v2.0    ' * Email       yongfa365[at]qq.com     ' * Mad

用VBS可执行程序+Xmlhttp下载备份网上文件的代码_vbs

今天写程序时突然想到做一个文件的备份,把网站上的数据库备份到本地机上.一个简单的小程序,做成可执行的文件,用VBS最简单方便了. 'On Error Resume Next  Dim iRemote,iLocal  iRemote = InputBox("请输入远程文件路径:")  Set xPost = CreateObject("Microsoft.XMLHTTP")  xPost.Open "GET",iRemote,0  xPost.Se