我的任务是完成函数 digitsInFactorial() ,该函数以 N 作为输入参数,并返回 N 的阶乘中的 位数。
class Solution{
public:
int digitsInFactorial(int N)
{
long long fact=1;
for(int i=2;i<=N;i++){
fact*=i;
}
int res=0;
while(fact>0){
res++;
fact/=10;
}
return res;
}
}; in this code 1st I find the factorial ,after that I have to find trailing zeros in the factorial . but , it is given incorrect output for the larger number.
在C++中直接计算阶乘会导致溢出。尝试使用
<cmath>
库中的函数。