加法高精


string Add(string &a,string &b)
{

  if(b.size()<a.size())
    return Add(b,a);//保证a<b
  int A[a.size()+10]={0},B[b.size()+10]={0},C[a.size()+10]={0};
  int j=-1,sizec=0;
  for(int i=a.size()-1;i>=0;i–)
    A[++j]=a[i]-‘0’;
  j=-1;
  for(int i=b.size()-1;i>=0;i–)
    B[++j]=b[i]-‘0’;
  int x=0;
  for(int i=0;i<a.size();i++)
  {
    int c=A[i]+B[i]+x;
    x=c/10;
    c%=10;
    C[i]=c;
    sizec++;
  }
  if(x) C[++sizec]=x;
  while(C[sizec]==0&&sizec>=1)
    sizec–;
  string k;
  for(int i=sizec;i>=0;i–)
    k+=(C[i]+’0′);
  return k;
}

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/274410.html

(0)
上一篇 2022年7月14日
下一篇 2022年7月14日

相关推荐

发表回复

登录后才能评论