加法高精

2022/7/14 23:20:20

本文主要是介绍加法高精,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


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;
}



这篇关于加法高精的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程