用VB编程(n+1)的阶乘

如题所述

Private Sub Command1_Click()
  Text2.Text = Factorial(CInt(Text1.Text))
End Sub

Private Function Factorial(ByVal n As Integer) As Double
  If n = 0 Or n = 1 Then
    Factorial = 1
  Else
    Factorial = n * Factorial(n - 1)
  End If
End Function

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-01-03
求n+1的阶乘:
Private Sub Command1_Click()
If IsNumeric(Text1.Text) = False Then Exit Sub
If CDbl(Text1.Text) < 1 Then Exit Sub
Dim n, A As Double
A = 1
For n = 2 To CInt(Text1.Text) + 1
A = A * n
Next n
Print A
End Sub
窗体上放一个文本框,用以输入n的值本回答被提问者和网友采纳

用vb编程n的阶乘加(n+1)的阶乘加(n+2)的阶乘加至(n+m)的阶乘 感谢感谢...
一个按钮。极限恐怕是:7.25741561530799e+306。不过显示成这样没有任何意义了。就前面几个数字是精确的,后面全部是0了。vb:120到130的阶乘:65169891884991400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

VB问题求阶乘提示F=(n+1)*F溢出 求解决方法
Dim a As Integer, F As Long a = Val(InputBox("请输入一个10以内的自然数:", , "10"))Fac a, F Print a; "的阶乘为:"; F End Sub Private Sub Fac(ByVal n As Integer, F As Long)If n > 1 Then n = n - 1 Fac n, F F = (n + 1) * F Else F = 1 End ...

求vb,n个数连乘的流程图怎么写
Dim input As Integer = inputbox Dim n As Integer = 1 Dim j As Double = 1 If input = 0 Then input = 1 '因为0的阶乘等于1,这样处理后当你输入0时,运行结果就是1了 Do While n <= input j = j * n n = n + 1 Loop MsgBox("结果是" & j)...

如何用VB语言编程求数学阶乘?
1、首先定义一个函数,这个函数里的内容求n的阶乘,返回值是n的阶乘,如下图所示。2、函数定义完成之后,就要开始写main函数里的内容,还是定义变量。3、变量定义后就要赋值,把sum的值写为0.因为后面的求和就需要sum的初始值为0,如下图所示。4、下一步就是利用for循环了,for循环i初始值位1,结束...

在VB中求阶乘的代码
在VB中求阶乘的部分代码:Private Function fact(m As Integer) As Long Dim i As Integer fact = 1 For i = 1 To m fact = fact * i Next i End Function Private Sub Command1_Click()Dim n As Integer, sum As Long Dim i As Integer n = Val(Text1.Text)For i = 1 To ...

怎么写vb的阶乘代码
s = s * i Next i Label4.Caption = Str(s)End Sub 2、Do While语句实现 Private Sub Command1_Click()Dim s As Long, n As Integer, i As Integer n = Val(Text1.Text)s = 1 i = 1 Do While i <= n s = s * i i = i + 1 Loop Label4.Caption = Str(s)End Sub ...

用VB编程实现 计算n的阶乘,找出计算结果大于10的六次方的n的值
function jc(n as integer) as long dim i as integer jc=1 for i=2 to n jc=jc*i next end function Private sub form_click()dim n as integer, s as long do n=n+1 s=jc(n)loop until s>10^6 print "当n大于等于"; n; "时1*2*3*...*n的值大于10^6"end sub ...

vb阶乘代码 我哪里错了 (结果说我n1 = n1 * i这一步溢出)
代码没错,只是你的计算结果远远超过32位操作系统的承受能力了,从1连续乘到170就有300多位数了,到100000的话,估计如果把数字按米粒大小排起来的话能绕太阳好几圈了。而且如果用Double的话,只有前15位数是精确的,也就是说即使能计算到300位,后面的285位数也都是0,这有意义吗?

vb程序编写输出从一到十的阶乘
Private Sub Command1_Click()n! = 1 For i = 1 To 10 n! = n! * i Print i & "的阶乘是:" & n!Next i End Sub

VB求1到N的阶乘
, 0)If n >= 13 Then MsgBox ("请重新输入小于13的数据") Else Exit Do End IfEnddoS = 0For i = 1 To n Si = 1 For j = 2 To i Si = Si * j Next S = S + SiNext Print "S = 1!+2!+3!+···+n! = "; Format(S)...

相似回答