zoukankan      html  css  js  c++  java
  • 大数求和

    进位,余数,
    注意判断i ,j 的值,这两个字符串长度不一定相等
    最后一个数据的处理

    #include <iostream>
    #include <string>
    using namespace std;

    string addStr(string str1, string str2)
    {
      string str;
      int size1 = str1.size();
      if (0 == size1)
      {
        return str2;
      }

      int size2 = str2.size();
      if (0 == size2)
      {
        return str1;
      }

      int c = 0;
      int i = size1-1;
      int j = size2 -1;
      int num1 = 0;
      int num2 = 0;
      int sum = 0;

      for(;i>=0||j>=0||c>0;i--,j--) //注意 当i j都越界时,c可能要处理
      {
        num1 = i>=0 ? str1[i]-'0':0;
        num2 = j>=0 ? str2[j]-'0':0;
        sum = num1 + num2 + c;
        c = sum/10;//进位
        str.insert(str.begin(), sum%10+'0');//余数插入字符串中
      }
      return str;
    }

    int main()
    {
      cout<<addStr("910", "123")<<endl;
      return 0;
    }

    来源:http://blog.csdn.net/neilol/article/details/48439107

  • 相关阅读:
    交换实验
    ISIS简单配置
    bgp联盟
    BGP2
    BGP 1
    BGP反射器
    ospf实验3
    bzoj 4503: 两个串
    bzoj 4259: 残缺的字符串
    COGS 2287. [HZOI 2015]疯狂的机器人
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/5943174.html
Copyright © 2011-2022 走看看