题目描述
n 的阶乘记为 n!,它的定义如下:
n!=1×2×⋯×n
给定一个正整数 n,请计算并输出
1!+2!+3!+⋯+n!
比如 1!+2!+3!=1+2+6=9。
输入格式
单个整数:表示 n。
输出格式
单个整数:表示 1! 到 n! 的和。
数据范围
- 对于 30% 的数据,1≤n≤12;
- 对于 60% 的数据,1≤n≤20;
- 对于 100% 的数据,1≤n≤100;
样例数据
输入:
3
输出:
9
解析:由于100的阶乘肯定超过long long了,所以这道题用高精度算法,包括高精度乘法和高精度加法
详见代码:
#include <bits/stdc++.h>
using namespace std;
int jc[1000005];//阶乘数组
int he[1000005];//和数组
void myjc(int x)//高精度乘法,高精乘int
{
int y=0;
for (int i=