《阶乘之和》

用高精度计算出 S=1!+2!+3!+⋯+n!S=1!+2!+3!+⋯+n!(n≤50n≤50)。

其中 ! 表示阶乘,定义为 n!=n×(n−1)×(n−2)×⋯×1n!=n×(n−1)×(n−2)×⋯×1。例如,5!=5×4×3×2×1=1205!=5×4×3×2×1=120。

输入格式

一个正整数 nn。

输出格式

一个正整数 SS,表示计算结果。

输入输出样例

输入 #1复制

3

输出 #1复制

9

说明/提示

【数据范围】

对于 100%100% 的数据,1≤n≤501≤n≤50。

【其他说明】

注,《深入浅出基础篇》中使用本题作为例题,但是其数据范围只有 n≤20n≤20,使用书中的代码无法通过本题。

C语言代码实现:

#include
#include

// 结构体用于表示大整数,以数组形式存储每一位数字
typedef struct {
    int *digits;
    int size;
} BigInt;

// 函数用于初始化大整数结构体
BigInt initBigInt() {
    BigInt num;
    num.digit

你可能感兴趣的:(算法,数据结构,c#,青少年编程)