注意事项: 当int使用之后,根据测试用例,算出结果正确时,而提交未通过时,要多看看题目对于数的限制,n不超过20,而20的阶乘是一个很大的数,可能已经超过int的范围,这个时候我们考虑用long long定义变量,同时输出格式改为%lld即可
参考代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
long long faci(int n) {
long long sum = 1;
while (n > 0) {
sum *= n;
n--;
}
return sum;
}
int main() {
long long sn = 0;
int n = 0;
scanf("%d", &n);
while (n > 0) {
sn += faci(n);
n--;
}
printf("%lld", sn);
return 0;
}
0.0分
0 人评分