由题目可知,题目给出一个整数 n(n ≤ 50),求 。
由于给出 n 的数据范围过大,而 C++ 存储量有限,用 unsigned long long 也存不下稍微大一点的 n,所以需要用到高精度乘法和高精度加法结合来实现。
上代码:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
// 高精度加法模板(本人喜欢用 vector)
vector<int> add(vector<int> &A, vector<int> &B)
{
vector<int> c;
int t = 0;
for (int i = 0; i < A.size() || i < B.size(); i++)
{
if (i < A.size()) t += A[i];
if (i < B.size()) t += B[i];
c.push_back(t % 10)