zoukankan      html  css  js  c++  java
  • 3115 高精度练习之减法

    3116 高精度练习之加法

     

    时间限制: 1 s
    空间限制: 128000 KB
    题目等级 : 黄金 Gold
     
     
     
    题目描述 Description

    给出两个正整数A和B,计算A+B的值。保证A和B的位数不超过500位。

    输入描述 Input Description

    读入两个用空格隔开的正整数

    输出描述 Output Description

    输出A+B的值

    样例输入 Sample Input

    3 12

    样例输出 Sample Output

    15

    数据范围及提示 Data Size & Hint

    两个正整数的位数不超过500位

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<string>
     5 
     6 using namespace std;
     7 const int N=100001;
     8 
     9 char aa[N];
    10 char bb[N];
    11 int a[N];
    12 int b[N];
    13 int c[N];
    14 
    15 int main()
    16 {
    17     scanf("%s%s",aa,bb);
    18     int la=strlen(aa);
    19     int lb=strlen(bb);
    20     if(la<lb||(la==lb&&strcmp(aa,bb)<0))
    21     {
    22         swap(la,lb);
    23         swap(aa,bb);
    24         cout<<"-";
    25     }
    26     for(int i=0;i<la;i++)
    27        a[i+1]=aa[la-i-1]-'0';
    28     for(int i=0;i<lb;i++)
    29        b[i+1]=bb[lb-i-1]-'0';
    30     for(int i=1;i<=max(la,lb);i++)
    31        c[i]=a[i]-b[i];
    32     for(int i=1;i<=max(la,lb);i++)
    33        if(c[i]<0)
    34          c[i]+=10,c[i+1]--;
    35     int j=max(la,lb);
    36     while(!c[j]&&j>1) j--;
    37     for(int i=j;i>=1;i--)
    38         cout<<c[i];      
    39 }
    40 /*
    41 123456
    42 456
    43 */ 
     
  • 相关阅读:
    MySQL 实训篇
    MySQL 操作部分
    MySQL 数据库设计部分
    Python Excel及setuptool安装
    泛型? extents super
    js中立即执行
    js的闭包
    js作用域与作用域链
    js编译和执行顺序
    文件下载
  • 原文地址:https://www.cnblogs.com/lyqlyq/p/6596878.html
Copyright © 2011-2022 走看看