【模版】高精度算法
1 #include<bits/stdc++.h> 2 3 using namespace std; 4 5 const int power=4; 6 const int base=1e4; 7 const int maxn=2e3+5; 8 9 struct num{ 10 int a[maxn<<1]; 11 12 num(){memset(a,0,sizeof(a));} 13 int &operator [](int x){return a[x];}//重载中括号 14 num(char *s,int len){ 15 memset(a,0,sizeof(a)); 16 17 a[0]=(len+power-1)/power; 18 19 for(int t=0,w=1,i=len-1;i>=0;w=(w<<1)+(w<<3),--i){ 20 if((len-1-i)%power==0) w=1,++t; 21 a[t]+=(s[i]^48)*w;//注意+= 22 } 23 } 24 void add(int k) { if (k || a[0]) a[ ++a[0] ] = k; } //在末尾添加一个数,除法的时候要用到 25 void re() { reverse(a+1, a+a[0]+1); } 26 void print(){ 27 printf("%d"