美文网首页
上交OJ-1014. 高精度加法

上交OJ-1014. 高精度加法

作者: code猪 | 来源:发表于2018-05-19 21:55 被阅读25次

1014. 高精度加法


Description

输入2个整数a和b,输出a+b。

Input Format

输入有两行,第一行a,第二行b。

0≤a,b≤10^100000。

Output Format

输出只有一行,a+b。

Sample Input

1234
1111111111

Sample Output

1111112345

分析

使用数组表示进行加法

#include <iostream>
#include <vector>
#include <stdio.h>

using namespace std;

void add(vector<char> &a, vector<char> &b)
{
    char tmp_c;
    int tmp_i=0;
    vector<char>::reverse_iterator it_ra, it_rb;
    vector<char>::iterator it_b;
    
    for(it_ra=a.rbegin(), it_rb=b.rbegin(); it_ra!=a.rend(); it_ra++, it_rb++)
    {
        tmp_c=tmp_i + *it_ra + *it_rb - '0';
        if(tmp_c > '9') {
            tmp_i=1;
            *it_rb=tmp_c - 10;
        }
        else {
            tmp_i=0;
            *it_rb=tmp_c;
        }
    }
    for(; it_rb!=b.rend(); it_rb++) {
        tmp_c=*it_rb + tmp_i;
        if(tmp_c > '9') {
            tmp_i=1;
            *it_rb=tmp_c - 10;
        }
        else {
            tmp_i=0;
            *it_rb=tmp_c;
            break;
        }
    }
    if(tmp_i)
        cout<<'1';
    for(it_b=b.begin(); it_b!=b.end(); it_b++)
        cout<<*it_b;
}

int main()
{
    vector<char> a, b;
    char tmp_c;
    int tmp_i;
    vector<char>::iterator it_a, it_b;
    
    while((tmp_c=getchar())!='\n')
        a.push_back(tmp_c);
    while((tmp_c=getchar())!='\n')
        b.push_back(tmp_c);
    
    if(a.size()>b.size())
        add(b, a);
    else
        add(a, b);
    
    return 0;
}

相关文章

  • 上交OJ-1014. 高精度加法

    1014. 高精度加法 Description 输入2个整数a和b,输出a+b。 Input Format 输入有...

  • 高精度(加法&乘法&减法)

    高精度加法: 高精度乘法: 高精度减法:

  • 高精度加法(C++实现)

    高精度加法 简介 用于计算含有超过一般变量存放不下的非负整数 高精度加法这个过程是模拟的小学竖式加法计算 步骤 以...

  • 几个高精度模板

    模板来自洛谷及Acwing:Acwing洛谷 后续增加注释以及相关代码改进 高精度加法 高精度减法 高精度乘法 高...

  • HDU-1753

    这个事实上就是高精度加法的模板题。所谓高精度加法,就是在数字过大的情况下,将数字看做是数组,数组中每个值只存一位。...

  • 高精度数(大整数)加法

    高精度数的加法 什么是高精度数? 高精度数是指一种数据范围超过long long 的数。 题目描述 求两个不超过2...

  • 17-12-8版子

    高精度加法 高精度乘法 快速乘法 二分匹配 阶乘长度(Stirling公式) 并查集 树状数组 树状数组的逆序数 ...

  • 高精度加法(水题)

    模拟大数加法我的思路很简单,就是看两个数长度是否相等,不等则补前导0直到两个数长度相等然后进行两数相加。(用x来保...

  • 基础练习 高精度加法

    问题描述输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述由于a和b都比较大,所以不能直接使...

  • 43 简单高精度加法

    邪狼掌握了简单高精度加法程序的编写后,修罗王要求邪狼写一个简单高精度减法的程序。即求出A-B的值,其中A和B均为非...

网友评论

      本文标题:上交OJ-1014. 高精度加法

      本文链接:https://www.haomeiwen.com/subject/rngadftx.html