P1009 [NOIP1998 普及组] 阶乘之和 题目描述 用高精度计算出S = 1! + 2! + 3! + \cdots + n!S=1!+2!+3!+⋯+n!(n \le 50n≤50)。 其中!表示阶乘,定义为n!=n\times (n-1)\times (n-2)\times \cdots \times 1n!=n×(n−1)×(n−2)×⋯×1。例如,5! = 5 \times 4...
通过两个函数add和multiply实现高精度加法和乘法。 先计算阶乘,并存储在数组a中。 然后计算阶乘之和,并将结果存储在数组c中。 注意:需要去除前导零。 AC代码 #include <iostream> #include <cstring> #include <algorithm> #define AUTHOR "HEX9CF" using namespace std; const int N = 1e6 + 5; int n;...
#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;constintN=1e6+10, INF=0x3f3f3f3f;vector<int>add(vector<int>a,vector<int>b){reverse(a.begin(), a.end());reverse(b.begin(), b.end()); vector<int> c;intt=0;for(inti=0; i<a.size() || i<b.size(); i++){if(i...
if (t) C.push_back(t); return C; } vector<int> mul(vector<int> &A, int b) { vector<int> C; int t = 0; for (int i = 0; i < A.size() || t; i++) { if (i < A.size()) t += A[i] * b; C.push_back(t % 10); t /= 10; } while (C.size() > 1 &&...
[NOIP1998 普及组] 阶乘之和www.luogu.com.cn/problem/P1009 思路 这一题就是高精度加高精度和高精度乘高精度的运算。 C++ 代码 #include<iostream>#include<vector>#include<algorithm>#include<cmath>#include<string>#include<utility>#define maxSize 70usingnamespacestd;typedefstructHeightPrecision{long...
#include<stdio.h> #include<math.h> #include<string.h> #define N 10 int a[N], b[N], c[N]; void cpy(int* a, int* b) { for(int i=N-1;i>=0;i--) *(a+i) = *(b+i); } void sudoplus(int*p,int*q)//Add array from pointer q to array from pointer p. { int i;...
阶乘 int C[100];// 该数的阶乘 int ans[52][100];// 答案 int len_a, len_b, len_ans, len_c; void solve() { int n; cin >> n; ans[0][0] = 1; ans[1][0] = 1; len_ans = 1; B[0] = 1; len_b = 1; for (int i = 2; i <= n; i++) { // 注意将A、C...
题目:P1009 [NOIP1998 普及组] 阶乘之和 虽然这题 n <= 50,但阶乘本身就是很大的数,何况该题求的是阶乘之和,这就必须用到高精度了,高精度乘法和高精度加法 前置知识: P1601 A+B Problem(高精) https://www.luogu.com.cn/problem/P1601 代码语言:javascript 复制 #include <iostream> #include <cstrin...
#include<iostream>#include<string>#include<cmath>usingnamespacestd;intcheng[5500];//表达阶乘intans[5500];//表达阶乘的和intlength =1;voidgaojia();voidgaocheng(intx) {intyinzi =x;for(inti =0; i < length; i++) cheng[i]= cheng[i] * yinzi;//每个数乘以因子for(inti =0; i < lengt...
P1009 [NOIP1998 普及组] 阶乘之和 写一篇简单的题解,蒟蒻感觉高精度未来可能会用到,故聊以记之,以求不忘而已。 这是一道求阶乘的题目,我们首先想到的方法就是递归求值。但是肯定会超出范围,即使用long long,最多也不过19位,而50的阶乘和足足求65位,所以我们用高精度的模板来做。