当前位置:首页 > TAG信息列表 > c语言求阶乘的算法和程序

c语言求阶乘的算法和程序

c语言计算一个数的n次方与阶乘 c语言1

c语言1-50的阶乘和?

n0

fori1can50

tempn0

c语言计算一个数的n次方与阶乘 c语言1

forj1didi

tempnj*(j-1)

next

nntempn

next

n就是1~50的阶乘的和

c语言中阶乘的函数是什么?

阶乘:

阶乘是基斯顿·卡曼(christiankramp,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

}

阶乘return0


万顺达 太⽩号

  • 关注微信关注微信

猜你喜欢

微信公众号