
package Factorial
import java.util.Scanner
import java.math.BigDecimal
public class Factorial2 {
public static BigDecimal factorial(BigDecimal n){
BigDecimal bd1 = new BigDecimal(1)//1
if(n.equals(new BigDecimal(1))){
return bd1
}
else
return n.multiply(factorial(n.subtract(bd1)))//n*f(n-1)
}
public static void main(String[] arguments){
Scanner sc = new Scanner(System.in)
BigDecimal a = sc.nextBigDecimal()
BigDecimal result = factorial(a)
System.out.println(a + "!=" +result)
}
}
希望能帮到你 谢谢 1直到 任意数的阶乘 谢谢
Private Sub Command1_Click()Sum = 1
For i = 1 To Text1.Text
Sum = Sum * i
Next i
Print Sum
End Sub
VB求阶乘需要Function 过程来实现。
Function 语句,声明 Function 过程的名称,参数以及构成其主体的代码。
以下是求输入数的阶乘代码:
Option ExplicitDim Sum As Double
Dim N As Integer
Dim i As Integer
Private Function fact(N As Integer) As Double
fact = 1
Do While N > 0
fact = fact * N
N = N - 1
Loop
End Function
Private Sub Command1_Click()
N = Val(Text1.Text)
Sum = fact(N)
Text2 = Sum
End Sub
Private Sub Form_Load()
Text1 = "": Text2 = ""
End Sub
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)