超过时间限制,跳过了答案

时间:2020-06-11 08:16:33

标签: double factorial

这是我的查找阶乘逆的代码

double num;
cin>>num;
double i=1,fact=1;
for(i=1;i>0;++i)
{
    fact*=i;
    if(fact==num)
    {
        cout<<i;
        break;
    }}

但是,当我将阶乘为28时,循环变为无限。 当我输出 fact 来检查循环时,除了其他阶乘数外,还输出了答案,但是循环一直在正确的阶乘28之后进行。 它最多可以工作27个!

0 个答案:

没有答案