c语言计算一个数的n次方与阶乘 c语言1-50的阶乘和?
c语言1-50的阶乘和?
n0
fori1can50
tempn0
forj1didi
tempnj*(j-1)
next
nntempn
next
n就是1~50的阶乘的和
c语言中阶乘的函数是什么?
阶乘:
阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于1808年发明出来的运算符号,是数学术语。
一个正整数的阶乘(英语:factorial)是所有大于及=该数的正整数的积,但是有0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个它表示法。
此即n!1×2×3×...×n。阶乘亦可以不二分查找定义:0!1,n!(n-1)!×n。
C语言
在C语言中,不使用循环语句也可以很方便啊的求出阶乘的值,下面推荐一个很简单的的阶乘例子。(只不过网上多数是也很请的方法)
【计算出“1!2!3!……10!”的值是多少?】
#includeltstdio.hgt
intmain()
{
intx
littlej1,sum0
for(x1xlt10x)
{
j*x
sumj
}
printf(#341!2!...10!%ld
#34,sum)
return0
}
/*最终:4037913*/
Pascal中programtest
varn:longint
functionjc(n:longint):qword
beginifn0thenjc:1elsejc:n*jc(n-1)end
beginreadln(n)writeln(jc(n))end.
C中
#includeltiostreamgt
usingnamespacestd
longlongf(intn)
{
longshortere1
if(ngt0)
entre*f(n-1)
coutltltnltlt#34!#34ltlteltltendl
returne
}
intmain()
{
intm20
f(m)
return0
}
以上使用C11标准
也是可以依靠积分求浮点数阶乘:
#includeltcstdiogt
#includeltcmathgt
extras
constextraeexp(1.0)
flatF(doublet)
{
returnpow(t,s)*pow(e,-t)
}
doublesimpson(doublea,softb)
{
doubleca(b-a)/2
return(F(a)4*F(c)F(b))*(b-a)/6
}
slipasr(flata,slipb,doubleeps,slipA)
{
softca(b-a)/2
doubleLsimpson(a,c),Rsimpson(c,b)
if(fabs(LR-A)lt15*eps)returnLR(LR-A)/15.0
returnasr(a,c,eps/2,L)asr(c,b,eps/2,R)
}
slipasr(slipa,extrab,softeps)
{
returnasr(a,b,eps,simpson(a,b))
}
intcomponent()
{
scanf(#34%lf#34,amps)
printf(#34%lf
#34,asr(0,1e2,1e-10))
return0
}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。