阶乘极限问题如何求自然数N的值

就是不明白这个n和x怎么限制,自己写的要么是输出为0,要么就编译错误,不太懂

img

有没有具体的题目

通过穷举法来找到第一个不满足跳出限制循环的数;
输出其减一


#include<stdio.h>
int fact(int n)
{
    int i, tmp=1,sum=0;//定义临时循环变量i,tmp存储n!,sumn!的和
    for (i = 1; i <= n; i++)
    {
        tmp *= i;
        sum += tmp;
   }
    return sum;//输出总数
}
int main()
{
    int i ,n;
    scanf_s("%d", &n);
    for (i = 0; fact(i) <= n; i++)//当sum总数大于限制时跳出
        ;
    printf("%d", i-1);//输出限制内最大的数
}