'commit'
This commit is contained in:
55
GESP/Mkx/20250304_1_TD.cpp
Normal file
55
GESP/Mkx/20250304_1_TD.cpp
Normal file
@@ -0,0 +1,55 @@
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
using namespace std;
|
||||
const int N = 1e5 + 10;
|
||||
const int WIDTH = 4; // 压4位
|
||||
const int BASE = 10000; // 基数为10000
|
||||
|
||||
int a[N], al;
|
||||
int b[N], bl;
|
||||
|
||||
// 字符串转压位数组(逆序存储)
|
||||
void str2num(string s, int c[], int &cl) {
|
||||
cl = 0;
|
||||
for (int i = s.size() - 1; i >= 0; i -= WIDTH) {
|
||||
int v = 0;
|
||||
int st = max(i - WIDTH + 1, 0); // 最后一组可能不够4个长度
|
||||
for (int j = st; j <= i; j++)
|
||||
v = v * 10 + (s[j] - '0');
|
||||
c[cl++] = v;
|
||||
}
|
||||
}
|
||||
|
||||
void mul(int a[], int &al, int b[], int &bl) {
|
||||
vector<int> c(N, 0);
|
||||
|
||||
for (int i = 0; i < al; i++)
|
||||
for (int j = 0; j < bl; j++)
|
||||
c[i + j] += a[i] * b[j];
|
||||
|
||||
al = al + bl + 1;
|
||||
for (int i = 0; i < al; i++) {
|
||||
c[i + 1] += c[i] / BASE;
|
||||
c[i] %= BASE;
|
||||
}
|
||||
|
||||
for (int i = 0; i < al; i++)
|
||||
a[i] = c[i];
|
||||
|
||||
while (al > 1 && a[al - 1] == 0)
|
||||
al--;
|
||||
}
|
||||
|
||||
int main() {
|
||||
int n;
|
||||
cin >> n;
|
||||
|
||||
for (int i = 1; i <= n; i++) {
|
||||
// 高精度加法 jiecheng(i);
|
||||
}
|
||||
|
||||
for (int i = al - 1; i >= 0; i--)
|
||||
printf("%d", a[i]);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user