递归的阶乘运算代码

代码的思路如下

定义一个名为f的函数,它接受一个整型参数n并返回一个长整型整数。

如果n等于1,函数返回1,因为1的阶乘是1。

如果n大于1,函数通过递归调用自身计算n * f(n-1),即n乘以n-1的阶乘

还需注意递归函数f在n较大时可能会导致栈溢出,因为每次函数调用都会占用栈空间 对于较大的n值,考虑使用迭代方法代替递归

检查输入是否为负数或非整数

具体代码如下

#include <stdio.h>

long long int f(int n);

int main()

{

int n;

scanf("%d",&n);

printf("%lld",f(n));

}

long long int f(int n)

{

if(n==1){

return 1;

}else{

return n*f(n-1);

}

}

全部评论

相关推荐

爪哇沉淀ing:哎 感觉很丰富 其实没啥含金量 我本科也是理工的 实话实说这个学校真的没啥竞争力 建议还是提升学历
今天你投了哪些公司?
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务