主题:VB阶乘编程
xiaoq
[专家分:0] 发布于 2008-04-02 19:46:00
请问一下,1!+2!+3!……20!用VB怎么编程啊?
创建窗体单击事件过程
回复列表 (共2个回复)
沙发
老大徒伤悲 [专家分:29120] 发布于 2008-04-02 20:32:00
20的阶乘?
超出了长整形数的范围。
要编这样的程序,方法有:自定义数据类型
字符串表示
等方法。
板凳
moz [专家分:37620] 发布于 2008-04-03 00:02:00
DefLng A-Z
Function JXX(N) As String
Dim s(16383)
s(0) = 1
s(1) = 1
For i = 1 To N
For j = 1 To s(0)
x = i * s(j) + x
s(j) = x Mod 10000
x = x \ 10000
Next
If x > 0 Then
s(0) = s(0) + 1
s(s(0)) = x
x = 0
End If
Next
Z$ = Trim$(Str(s(s(0))))
For i = s(0) - 1 To 1 Step -1
Z$ = Z$ & Right$("0000" + LTrim$(Str$(s(i))), 4)
Next
JXX = Z$
End Function
这是从狱中肺炎的四行C代码改过来的.
在VBA for Excel2007中验证过.
我来回复