只有50分,求大佬指点

P1009 [NOIP1998 普及组] 阶乘之和

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 好的,谢谢。


|