1. 算法思路
计算20的阶乘,可以先计算19的阶乘,再将结果乘以20。同样,计算19的阶乘可以先计算18的阶乘,再将结果乘以19。以此类推,一直计算到1的阶乘,终得到20的阶乘。
这种算法可以使用递归实现。递归是指一个函数调用自身的过程。在本例中,大家定义一个名为factorial的函数,用于计算任意正整数的阶乘。该函数的实现如下
{ == 1) //递归结束条件 1;
else – 1); //递归调用
在计算20的阶乘时,只需要调用factorial(20)函数即可。该函数会递归计算19的阶乘、18的阶乘,一直到1的阶乘,终返回20的阶乘的值。
2. 代码实现
下面是完整的20阶乘程序代码
clude
tain()
{t = 20;t);tf, result); 0;
{ == 1) //递归结束条件 1;
else – 1); //递归调用
3. 运行结果
运行程序后,输出结果如下
20! = 243290176640000
4. 总结
本文介绍了如何用C语言编写一个计算20阶乘的程序。该程序使用递归算法实现,通过递归调用自身的方式计算任意正整数的阶乘。在编写递归程序时,需要注意设置递归结束条件,否则程序会陷入死循环。