#ifndef BIGINT_H
#define BIGINT_H
#include <bits/stdc++.h>
using namespace std;
class Bigint {
private:
int a[10000];
public:
Bigint() {
memset(a, 0, sizeof a);
a[0] = 1;
}
friend ostream & operator << (ostream &out, const Bigint & b);
friend istream & operator >> (istream &in, const Bigint & b);
Bigint operator + (Bigint r) {
Bigint c;
c.a[0] = max(a[0], r.a[0]);
int g = 0;
for (int i = 1; i <= c.a[0]; i ++) {
c.a[i] = a[i] + r.a[i] + g;
if (c.a[i] > 9) {
g = 1;
c.a[i] -= 10;
}
else
g = 0;
}
if (g == 1) {
c.a[0] ++;
c.a[c.a[0]] = 1;
}
return c;
}
};
istream & operator >> (istream &in, const Bigint & b) {
string s;
in >> s;
memset(b.a, 0, sizeof b.a);
b.a[0] = s.size();
for (int i = 0, j = b.a[0]; i < b.a[0]; i ++, j --)
b.a[j] = s[i] - '0';
for (int len = b.a[0], i = len; i > 1; i --) {
if (b.a[i] == 0)
b.a[i] --;
else
break;
}
return in;
}
ostream & operator << (ostream &out, const Bigint & b) {
for (int i = b.a[i]; i > 0; i --)
out << b.a[i];
return out;
}
#endif
该代码为何 CE。