佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > 用VBS精確計(jì)算100的階乘的實(shí)現(xiàn)代碼

用VBS精確計(jì)算100的階乘的實(shí)現(xiàn)代碼

熱門標(biāo)簽:鐵路電話系統(tǒng) 呼叫中心市場需求 銀行業(yè)務(wù) 美圖手機(jī) 檢查注冊表項(xiàng) 服務(wù)器配置 智能手機(jī) 網(wǎng)站文章發(fā)布
今天又無聊的逛了一下搜搜問問,找到這樣一個(gè)問題:

有誰能提供vbs里20的階乘的詳細(xì)程序

下面有人給出了這樣的答案:
復(fù)制代碼 代碼如下:

function jx(x)
j=1
for i=2 to x
j=j*i
next
jx=j
end function
msgbox jx(20)

運(yùn)行一下上面的程序,輸出2.43290200817664E+18。笑而不語,再次證明了我之前的結(jié)論,在這種網(wǎng)站上回答問題的,大部分水平都不咋地。

其實(shí)之前在《用VBS精確計(jì)算2的100次方》我已經(jīng)寫過了VBS的大數(shù)乘法,調(diào)用一下就行了:
復(fù)制代碼 代碼如下:

'Author: Demon
'Website: http://demon.tw
'Email: 380401911@qq.com
Option Explicit
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
Function factorial(n)
Dim i, t : t = 1
For i = 1 To n
t = multiple(t, i)
Next
factorial = t
End Function
Dim t : t = Timer
WScript.Echo factorial(100)
WScript.Echo Timer - t

另外,dogfish也寫了一個(gè)求1000階乘的VBS:
復(fù)制代碼 代碼如下:

dim digits(2568)
max_digit = 2568
digits(max_digit) = 1
for d=2 to 1000
for k=max_digit to ubound(digits)
digits(k) = digits(k) *d
next
k = ubound(digits)
while k>=max_digit
if digits(k)>10 then
digits(k-1) = digits(k-1) + fix(digits(k) / 10)
digits(k) = digits(k) mod 10
if k-1max_digit then
max_digit = k - 1
end if
end if
k = k-1
wend
next
'把結(jié)果轉(zhuǎn)為字串。
str = ""
for i=max_digit to ubound(digits)
str = str digits(i)
next
msgbox str

不過,能寫出這樣的程序的人,不會(huì)無聊到去回答搜搜問問的問題吧。
原文:http://demon.tw/programming/vbs-factorial.html
您可能感興趣的文章:
  • C++求階乘的兩種方法
  • java階乘計(jì)算獲得結(jié)果末尾0的個(gè)數(shù)代碼實(shí)現(xiàn)
  • C語言 實(shí)現(xiàn)N階乘的程序代碼
  • 千萬不要被階乘嚇倒
  • c++大數(shù)階乘的實(shí)現(xiàn)方法
  • C# 實(shí)現(xiàn)階乘 (遞歸,非遞歸) 實(shí)現(xiàn)代碼
  • ASP.NET遞歸法求階乘解決思路
  • 從階乘函數(shù)對比Javascript和C#的異同
  • 算階乘的vbs小程序
  • 求1000階乘的結(jié)果末尾有多少個(gè)0

標(biāo)簽:樂山 紅河 長治 沈陽 上海 滄州 河南 新疆

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用VBS精確計(jì)算100的階乘的實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    临安市| 奉贤区| 通许县| 武陟县| 田阳县| 贵溪市| 大埔区| 蒙阴县| 桦川县| 喜德县| 张掖市| 海淀区| 肥东县| 桐梓县| 迁西县| 磴口县| 淳安县| 临朐县| 无为县| 南召县| 资兴市| 长子县| 偏关县| 镇安县| 凭祥市| 北宁市| 西乌珠穆沁旗| 浮梁县| 永善县| 庆安县| 尼玛县| 新沂市| 石阡县| 栾城县| 驻马店市| 偏关县| 桂林市| 洛隆县| 英山县| 郴州市| 甘孜县|