当前位置:首页 > 开发语言 > 正文

递归求n的阶乘c语言编程

递归求n的阶乘c语言编程

编一个函数n!。主函数求5!*7!/9!。(递归法怎么做呢,做到主函数后面的fo... n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)...

编一个函数n!。主函数求5!*7!/9!。(递归法怎么做呢,做到主函数后面的fo...

n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。资料扩展:大于等于1 任何大于等于1 的自然数n 阶乘表示方法:或 0的阶乘 0!=1。定义的必要性 由于正整数的阶乘是一种连乘运算,而0与任何实数相乘的结果都是0。所以用正整数阶乘的定义是无法推广或推导出0!=1的。

} 这个函数首先检查输入的整数n是否为1。如果是,则直接返回1。否则,它将n与sum(n-1)的结果相加,并返回这个值。这个过程会一直递归下去,直到n减少到1。在主函数中,我们设置变量i为100,并调用sum(100)函数计算1到100的和。

下面我们再举例说明该过程。设本程序时输入为5,即求5!。在主函数中的调用语句即为y=ff(5),ff函数后,由于n=5,不等于0或1,故应f=ff(n-1)*n,即f=ff(5-1)*5。该语句对ff作递归调用即ff(4)。

起到的作用是求出N的阶乘,然后用递归法进行加和。最后两句即是递归法的应用。比如输入的是5,那么该函数线求出m=125,然后由于n=5》1,然后再次调用F函数,再算3的阶乘,直至n=1。自己好好画个流程图看看就很明显了。

最新文章