Zfs20040915 @ 2024-05-14 09:11:24
#include<iostream>
#include<cstdio>
using namespace std;
int main() {
int n;
double sum = 0, ans = 1;
cin >> n;
for (int i = 1; i <= n; i++) {
ans *= i;
sum += ans;
}
printf("%.0lf", sum);
return 0;
}
by Chu_awa_xing @ 2024-05-14 09:59:00
这道题要用高精度来求。
by Zfs20040915 @ 2024-05-14 14:50:37
@Chu_awa_xing 我是初学者,可以细说一下吗,谢谢。
by Chu_awa_xing @ 2024-05-14 15:41:06
@Zfs20040915 即使是long long,它能存的数字也是有最大值的,这道题的部分测试点的答案是要大于long long能存的数字范围的,所以需要用高精度来写,高精度的原理类似于我们日常计算时写的竖式,你可以上网找找的教程
by Zfs20040915 @ 2024-05-16 10:14:33
@Chu_awa_xing 好的,谢谢。