为什么会编译错误?自己编译器编译都没有问题。
#include <bits/stdc++.h>
using namespace std;
char j1c[2000], j2c[2000];
int j1[2000], j2[2000], h[2000];
int main()
{
int b;
cin >> b >> j1c >> j2c;
int lena = strlen(j1c), lenb = strlen(j2c);
for (int i = 0; i < lena; i ++)
{
if (j1c[i] >= '0' && j1c[i] <= '9')
{
j1[lena - i] = j1c[i] - 48;
}
else
{
j1[lena - i] = j1c[i] - 54;
}
}
for (int i = 0; i < lenb; i ++)
{
if (j2c[i] >= '0' && j2c[i] <= '9')
{
j2[lenb - i] = j2c[i] - 48;
}
else
{
j2[lenb - i] = j2c[i] - 54;
}
}
int lenc = 1, x = 0;
while (lenc <= lena || lenc <= lenb)
{
h[lenc] = j1[lenc] + j2[lenc] + x;
x = h[lenc] / b;
h[lenc] %= b;
lenc ++;
}
h[lenc] = x;
while (h[lenc] == 0 && lenc > 1) lenc --;
for (int i = lenc; i >= 1; i --)
{
cout << h[i];
}
}
思路就是高精,只不过是把进位和保留个位的10换成了b。
我不知道思路正不正确,但是首先,为什么CE了呢?