主题: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中验证过.
							 
									
			
我来回复