
但是我找到了一个代码,你看是不是相似?
Function jch(n As Integer) As Double
'定义一个计算阶乘的函数
Dim a As Integer
jch = 1
For a = 1 To n
jch = jch * a
Next a
End Function
Private Sub Command1_Click()
Dim s As Double
Dim b As Integer
s = 0
For b = 1 To 99
s = s + jch(b)
Next b
MsgBox s
End Sub
里面的Jch仅仅是这个函数的名字而已。阶乘的拼音
#include "stdio.h" int jch(int n) { if (n==1||n==0) { return 1} else return n*jch(n-1)} int main() { int nscanf("%d",&n)printf("%d\n",jch(n))return 0}matlab程序为:
function jiechenghe=fun(x)
jiechenghe=0
s=1
for i=1:x
s=s*i
jiechenghe=jiechenghe+s
end
应用:求n!的位数
可以将n!表示成10的次幂,即n!=10^M(10的M次方)则不小于M的最小整数就是 n!的位数,对该式两边取对数,有 M =log10^n!
即:M = log10^1+log10^2+log10^3...+log10^n。循环求和,就能算得M值,该M是n!的精确位数。
扩展资料:
对于复数应该是指所有模n小于或等于│n│的同余数之积,对于任意实数n的规范表达式为:正数 n=m+x,m为其正数部,x为其小数部;负数n=-m-x,-m为其正数部,-x为其小数部。
在 Common Lisp 中, 可以很方便的使用更为简洁的使用递归实现阶乘:
(defun factorial (n)
(cond
((> n 0) (* (factorial (- n 1)) n))
((= n 0) 1)
(t (error "N is smaller than 0."))))
参考资料来源:百度百科-n!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)