哪位程序高手帮我算算这个的时间复杂度:fact(int n) { if(n<=1) return(1); else return(n*fact(n-1)); }

谢谢哈
2024-12-16 08:24:22
推荐回答(1个)
回答1:

这个函数是用来求阶乘的,用了递归方法。输入100,就会得到100的阶乘。但是由于数值太大,会导致溢出。建议将返回值类型改为 double 型。
计算N的阶乘需要进行N次乘法运算,因此时间复杂度为O(N)。