小白初学递归
今天学习了如何粗略的使用递归,认为很有趣,因此尝试来解一道非常经典的递归问题——
如何使用递归来求n的阶乘?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int Fact(int n = 0) //建立一个Fact函数,专门处理n的阶乘的计算
{
if (n == 1) //判断当n=1时直接返回1
{
return 1;
}
else if (n != 1) //当n不等于1时,反复调用Fact函数自己直至n等于1
{
return n * Fact(n - 1);
}
}
int main() //主函数
{
int n = 0;
scanf("%d", &n);
int ret = Fact(n);
printf("%d", ret);
return 0;
}
效果不错~
其实还可以在优化一下,比如写一个for循环,这样就不用每执行一次就停下再重启了
OK,每天努力一点点
good good study,day day up!
