求1+2!+3!+…+N!的和。
这道题不难,但是一直通不过测试的原因是阶乘到后面,数字大到溢出。
这里的解决方案是使用 long double类型,对应输出%0.0LF
#include<stdio.h>
long double jiecheng(int n){
long double res=1;
for(int i=1;i<=n;i++){
res *= i;
}return res;
}
int main(){
int N;
long double sum=0;
scanf("%d",&N);
for(int i=1;i<=N;i++){
sum += jiecheng(i);
}
printf("%0.0LF",sum);
return 0;
}