美文网首页
高精度加法(水题)

高精度加法(水题)

作者: myleosu | 来源:发表于2018-03-30 13:42 被阅读0次

模拟大数加法
我的思路很简单,就是看两个数长度是否相等,不等则补前导0直到两个数长度相等然后进行两数相加。(用x来保存进位)
上代码(用string类补前导0凉了...用char做一样不过过程相对麻烦点)

#include <iostream>
#include <string>
#include <algorithm>
#include <cstring>
using namespace std;
char str1[2000],str2[2000],str3[2000];
int num[2000];
int main()
{
    cin>>str1>>str2;
    int str1len = strlen(str1);
    int str2len = strlen(str2);
    int len = abs(str1len-str2len);
    for(int i = 0;i<len;i++)//将str3置为0
        str3[i] = '0';
    if(str1len>str2len){//拼接字符串
        strcat(str3,str2);
        strcpy(str2,str3);
    }
    else if(str2len>str1len){//拼接字符串
        strcat(str3,str1);
        strcpy(str1,str3);
    }
    len = strlen(str1);
    int x = 0;
    while(len--){//模拟加法
        x = (str1[len]-'0')+(str2[len]-'0')+x;
        num[len] = x%10;
        x/=10;
    }
    if(x!=0)//判断最高进位
        cout<<x;
    len = strlen(str1);
    for(int i = 0;i<len;i++)
        cout<<num[i];
    return 0;
}

相关文章

  • 高精度加法(水题)

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

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

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

  • HDU-1753

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

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

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

  • 几个高精度模板

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

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

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

  • 17-12-8版子

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

  • 基础练习 高精度加法

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

  • 43 简单高精度加法

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

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

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

网友评论

      本文标题:高精度加法(水题)

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