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

  • 相关阅读:
    NSLayoutAttribute
    iOS自动布局
    UIView animateWithDuration 使用详解
    objective-c calendar 日历(2)
    objective-c calendar 日期
    ElasticSearch学习笔记
    PAT007 六度空间
    PAT006 Tree Traversals Again
    PAT005 Path in a Heap
    PAT004 Root of AVL Tree
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/5943174.html
Copyright © 2011-2022 走看看