/* 做了一些优化,试了试,高精度乘法只比普通long long乘法慢6倍*/
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
class BigInt{ //无符号整数高精度
#define MAXDIGIT 10000 //最大为10^MAXDIGIT
#define BIGINTMOD 10000 //压4位
private:
public:
int n; //a中n位有效
int a[MAXDIGIT/4+10]; //压4位,下标从1开始(且高位不一定为0)
//初始化
BigInt(); //默认设置为0
BigInt(long long x); //设置为x
BigInt(char *s); //数字字符串
~BigInt(){}
//初始化
int set(long long x);
int set(char* s);
//显示
int Display(); //输出,没有换行
int trim(); //去除前缀0
BigInt& operator =(BigInt& bnum);
//(1)单目加法
int operator +=(BigInt& bnum);
int operator +=(int bnum);
//(2)除法
int operator /=(int bnum); //返回值为mod bnum的值。
};
//操作符重载
// (3)乘法
int operator *= (BigInt& anum,BigInt& bnum);
BigInt&a