#include <iostream> #include <algorithm> #include <cstdio> using namespace std; int t=0; string add(string &a,string &b);//c=高a+高b bool cmp(string &a,string &b);//比较大小 string sub(string &a,string &b);//c=高a-高b string mul(string &a,int b);//c=高a*低b string div(string &a,int b);//c=高a/低b a不做反转 int main() { //函数调用即可 return 0; } //c=a+b string add(string &a,string &b){ if(b.size()>a.size()) return add(b,a); string c=""; int t=0; for(int i=0;i<a.size();i++){ t+=a[i]-'0'; if(i<b.size()) t+=b[i]-'0'; c+=(char)(t%10+'0'); t/=10; } if(t>0)c+='1'; int i=c.size()-1; while(c[i]=='0'&&i>0)i--; return c.substr(0,i+1); } //比较大小 bool cmp(string &a,string &b){ if(a.size()!=b.size()) return a.size()>b.size(); for(int i=a.size()-1;i>=0;i--) if(a[i]!=b[i]) return a[i]>b[i]; return true; } //c=a-b string sub(string &a,string &b){ string c=""; int t=0; for(int i=0;i<a.size();i++){ t=a[i]-'0'-t; if(i<b.size()) t-=(b[i]-'0'); if(t<0){ c+=(char)(10+t+'0'); t=1; } else{ c+=(char)(t+'0'); t=0; } } int i=c.size()-1; while(c[i]=='0'&&i>0)i--; return c.substr(0,i+1); } //c=高a*低b string mul(string &a,int b){ string c=""; int t=0; for(int i=0;i<a.size();i++){ t=(a[i]-'0')*b+t; c+=(char)(t%10+'0'); t/=10; } while(t){ c+=(char)(t%10+'0'); t/=10; } int i=c.size()-1; while(c[i]=='0'&&i>0)i--; return c.substr(0,i+1); } //c=高a/低b a不做反转 string div(string &a,int b){ string c=""; int i; for(i=0;i<a.size();i++){ t=t*10+a[i]-'0'; c+=(char)(t/b+'0'); t%=b; } i=0; while(c[i]=='0') i++; return c.substr(i,a.size()-i); }