开发者社区> 问答> 正文

用VB求1到10的阶乘 递归算法 越简单越好

如题

展开
收起
知与谁同 2018-07-17 17:58:38 7873 0
6 条回答
写回答
取消 提交回答
  • Function A(n As Long) As Double
    If n > 0 Then A = IIf(n = 1, 1, n * A(n - 1))
    End Function

    举例说明:使用方法为 Msgbox a(12)
    程序就会求出12的阶乘,其结果为479001600
    最大可以计算到 170的阶乘
    2019-07-17 22:55:31
    赞同 展开评论 打赏
  • Private Sub Command1_Click()
    Print f(10)
    End Sub
    Function f(n As Integer) As Long
    If n = 0 Or n = 1 Then
    f = 1
    Else
    f = n * f(n - 1)
    End If
    End Function
    2019-07-17 22:55:31
    赞同 展开评论 打赏
  • function jc(byval n as integer)
    if n=1 then
    return 1
    else
    return jc(n-1)*n
    end if
    end function
    2019-07-17 22:55:31
    赞同 展开评论 打赏
  • Private Sub Command1_Click()
    Print Jie(5)
    End Sub

    Private Function Jie(ByVal i As Integer)
    If i = 1 Then
    Jie = 1
    Exit Function
    End If
    Jie = i * Jie(i - 1)
    End Function
    2019-07-17 22:55:30
    赞同 展开评论 打赏
  • 12535
    Dim s As Long
    s = 1
    For i = 1 To 10 Step 1
    s = s * i
    Next i
    Print s
    已经验证过了没问题~~~
    LZ 加油啊~
    2019-07-17 22:55:30
    赞同 展开评论 打赏
  • VB 递归算法 求阶乘

    Function Factorial(n As Long) As Long
    If n = 1 Then Factorial = 1 Else Factorial = n * Factorial(n - 1)
    End Function

    Private Sub Command1_Click()
    Dim n As Long
    For n = 1 To 10
    Print CStr(n); "!="; Factorial(n)
    Next n
    End Sub
    2019-07-17 22:55:30
    赞同 展开评论 打赏
滑动查看更多
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载