zoukankan      html  css  js  c++  java
  • 大整数型的加法

    1.加法

    分别用char和string来实现

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 #define MAX 100000
     4 int an1[MAX+5];
     5 int an2[MAX+5];
     6 char line1[MAX+5];
     7 char line2[MAX+5];
     8 int main()
     9 {
    10     cin>>line1>>line2;
    11     int i,j;
    12     int len1=strlen(line1);
    13     for(j=0,i=len1-1;i>=0;i--)
    14      an1[j++]=line1[i]-'0';
    15      int len2=strlen(line2);
    16      for(j=0,i=len2-1;i>=0;i--)
    17         an2[j++]=line2[i]-'0';
    18      for(i=0;i<MAX;i++)
    19      {
    20          an1[i]+=an2[i];
    21          if(an1[i]>=10)
    22          {
    23              an1[i]-=10;
    24              an1[i+1]++;
    25          }
    26      }
    27      for(i=MAX;(i>=0)&&(an1[i]==0);i--);
    28      if(i>=0)
    29      for(;i>=0;i--)
    30       cout<<an1[i];
    31      else
    32         cout<<0;
    33     return 0;
    34 }
     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 #define MAX 1000
     4 string add(string num1,string num2)
     5 {
     6     string num(1000,'0');
     7     reverse(num1.begin(),num1.end());
     8     reverse(num2.begin(),num2.end());
     9     int i,len;
    10     int temp=0;
    11     for(i=0;i<num1.length();i++)
    12         num[i]=num1[i];
    13     for(i=0;i<num2.length();i++)
    14     {
    15         temp+=num[i]-'0'+num2[i]-'0';
    16         num[i]=temp%10+'0';
    17         temp/=10;
    18     }
    19     reverse(num.begin(),num.end());
    20     if(num.find_first_not_of('0')==string::npos)
    21         num='0';
    22     else
    23         num.erase(num.begin(),num.begin()+num.find_first_not_of('0'));
    24     return num;
    25 }
    26 int main()
    27 {
    28     int n;
    29     cin>>n;
    30     for(int i=0;i<n;i++)
    31     {
    32     string a,b;
    33     cin>>a>>b;
    34     cout<<"Case "<<i+1<<":"<<endl<<a<<" + "<<b<<" = "<<add(a,b)<<endl;
    35     }
    36     return 0;
    37 }
  • 相关阅读:
    C++ 虚函数表解析
    函数调用运算符重载
    成员访问运算符重载
    递增和递减运算符重载
    java 如何查看jdk版本&位数
    oracle 11g完美卸载
    win10 你没有足够的权限执行此操作。
    maven 找不到或无法加载主类
    eclipse 如何对maven项目进行打包?
    Core Dataeasy出现的错误
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/10671535.html
Copyright © 2011-2022 走看看