就是不明白这个n和x怎么限制,自己写的要么是输出为0,要么就编译错误,不太懂
有没有具体的题目
通过穷举法来找到第一个不满足跳出限制循环的数;
输出其减一
#include<stdio.h>
int fact(int n)
{
int i, tmp=1,sum=0;//定义临时循环变量i,tmp存储n!,sum求 n!的和
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);//输出限制内最大的数
}