中易网

int f(int n){ if(n==1)return 1; else return (n*f(n-1)); }这个函数有什么作用?时间复杂度是?

答案:1  悬赏:60  
解决时间 2021-01-13 20:43
  • 提问者网友:眉目添风霜
  • 2021-01-13 16:47
int f(int n){ if(n==1)return 1; else return (n*f(n-1)); }这个函数有什么作用?时间复杂度是?
最佳答案
  • 二级知识专家网友:持酒劝斜阳
  • 2021-01-13 17:49
这个函数是用来求阶乘的,用了递归方法。输入100,就会得到100的阶乘。但是由于数值太大,会导致溢出。建议将返回值类型改为 double 型。
计算N的阶乘需要进行N次乘法运算,因此时间复杂度为O(N)。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息