急!求高手帮我解决C语言问题
来源:百度知道 编辑:UC知道 时间:2024/05/08 08:33:30
题目如下: 编程求满足不等式1!+2!+3!+....+n!小于或等于30000成立时最大n值
#include "stdio.h"
main()
{
int n;
long int m,sum;
n=0;
m=1;
sum=0;
while(sum<=30000)
{
n++;
m=m*n;
sum=sum+m;
}
n--;
printf("%d",n);
}
当终止while循环时sum的值应该大于30000,要求的是sum小于或于30000的时n的值,所以要输出n的前一位数
可以这样编:
#include <stdio.h>
unsigned factorial( unsigned n ) {
return n < 2 ? 1 : n * factorial( n - 1 );
}
void main( ) {
unsigned sum, i;
for( sum = i = 0; sum + factorial( i ) <= 30000; i++ )
sum += factorial( i );
printf("The answer is %d.\n", i );
}
#include <stdio.h>
unsigned int fact(unsigned int n)
{