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

首頁 > 編程 > VBScript > 正文

用VBS精確計算100的階乘的實現代碼

2019-10-26 18:04:38
字體:
來源:轉載
供稿:網友
今天又無聊的逛了一下搜搜問問,找到這樣一個問題:

有誰能提供vbs里20的階乘的詳細程序

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

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

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

其實之前在《用VBS精確計算2的100次方》我已經寫過了VBS的大數乘法,調用一下就行了:
復制代碼 代碼如下:

'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也寫了一個求1000階乘的VBS:
復制代碼 代碼如下:

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-1<max_digit then
max_digit = k - 1
end if
end if
k = k-1
wend
next
'把結果轉為字串。
str = ""
for i=max_digit to ubound(digits)
str = str & digits(i)
next
msgbox str

不過,能寫出這樣的程序的人,不會無聊到去回答搜搜問問的問題吧。
原文:http://demon.tw/programming/vbs-factorial.html

您可能感興趣的文章:

C++求階乘的兩種方法java階乘計算獲得結果末尾0的個數代碼實現C語言 實現N階乘的程序代碼千萬不要被階乘嚇倒c++大數階乘的實現方法C# 實現階乘 (遞歸,非遞歸) 實現代碼ASP.NET遞歸法求階乘解決思路從階乘函數對比Javascript和C#的異同算階乘的vbs小程序求1000階乘的結果末尾有多少個0
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 丰镇市| 桃江县| 林口县| 名山县| 合江县| 昆山市| 同心县| 伊吾县| 栖霞市| 崇阳县| 新乡市| 社旗县| 五大连池市| 龙山县| 镇宁| 吉隆县| 丽江市| 桦甸市| 安康市| 鄢陵县| 台南县| 长岛县| 济南市| 中宁县| 珲春市| 和政县| 五峰| 绵竹市| 新安县| 新建县| 凌云县| 逊克县| 镶黄旗| 沂水县| 新竹市| 永丰县| 静宁县| 全州县| 昌邑市| 上杭县| 江永县|