出现了一堆神奇的编译问题,果然我还是太弱了
#include <iostream>
#include <string>
using namespace std;
string jc (string n) {
int t[100];
int b = (int)n;
int len = n.size();
for (int i = 0; i < len; i++) {
t[i] = n[len - i - 1] - '0';
}
for (int j = 1; j <= t; j++) {
for (int i = 0; i < len; i++) {
t[i] *= j;
}
for (int i = 0; i < len; i++) {
if (t[i] >= 10) {
t[i + 1] += t[i] / 10;
t[i] %= 10;
}
while (t[len]) {
t[len + 1] += t[len] / 10;
t[len] %= 10;
len++;
}
}
}
string s;
for (int i = len - 1; i >= 0; i--) {
s += string(t[i]);
}
return s;
}
string plus (string l, string r) {
int len1 = l.size(), len2 = r.size();
int a[100], b[100], c[100];
for (int i = 0; i < len1; i++) {
a[i] = l[len1 - i - 1];
}
for (int i = 0; i < len2; i++) {
b[i] = r[len2 - i - 1];
}
int len = max(len1, len2);
for (int i = 0; i < len; i++) {
c[i] = a[i] + b[i];
for (int i = 0; i < len; i++) {
if (c[i] >= 10) {
c[i + 1] += c[i] / 10;
c[i] %= 10;
}
while (c[len]) {
c[len + 1] += c[len] / 10;
c[len] %= 10;
len++;
}
}
}
string s;
for (int i = len - 1; i >= 0; i--) {
s += string(t[i]);
}
return s;
}
int main() {
int n;
cin >> n;
string ans;
for (int i = 1; i <= n; i++) {
ans = plus(ans, jc((string)i));
}
cout << ans << endl;
return 0;
}