求5!和 n!

在最初学习C语言时,要求5!采用while循环去求。方法如下:

681184652aec47ffa7062f71e39f9363.png

 到后来,我们学习了函数的调用,求一个数的阶乘有了新的方法。求n!可以采用递归方法。

我们对n!做分析,可以0!=0,1!=0

,而其余的数均为n!=n*(n-1)!

186f701022454030bf884747a2ce72a1.jpg

 所以,我们可以写出以下程序:

012793d0aa7244e0afdd6d9447d859c5.png

 注意:

程序中的变量是int型,编译系统为int型数据分配4个字节,能表示的最大数为2 147 483 647当n=12时,运行正常,输出479001600;如果输入13,企图求13!,是得不到预期结果的,因为输出的结果超出了int型数据的最大值。可以将f,y,fac函数定义为float型或double型。

猜你喜欢

转载自blog.csdn.net/m0_73939236/article/details/128168690