问题 B: 【高精度】简单高精度加法

问题 B: 【高精度】简单高精度加法

时间限制: 1 Sec  内存限制: 64 MB
提交: 94  解决: 27
[提交][状态][讨论版]

题目描述

修罗王解决了计算机的内存限制问题,终于可以使用电脑进行大型的魔法运算了,他交给邪狼的第一个任务是计算两个非负整数A、B的和,其中A和B的位数在5000位以内。

输入

共两行数据,第一行为一个非负整数A,第二行为一个非负整数B,A、B的位数均在5000以内。

输出

输出一个非负数,即两数之和。

样例输入

1111111111
2222222222

样例输出

3333333333

提示

#include<iostream>
#include<cstring>
using namespace std;

int main()
{
   int c,i,j,cnt;
    int res[1111];
    char a[1111],b[1111];
   gets(a);
   gets(b);
        int lena=strlen(a);
        int lenb=strlen(b);
        c=0;
        cnt=0;
        for(i=lena-1,j=lenb-1;i>=0&&j>=0;i--,j--)
        {
            int p=(a[i]-‘0‘)+(b[j]-‘0‘)+c;
            res[cnt++]=p%10;
            c=p/10;
        }
       while(i>=0)
        {
            int p=(a[i]-‘0‘)+c;
            res[cnt++]=p%10;
            c=p/10;
            i--;
        }
        while(j>=0)
        {
            int p=(b[j]-‘0‘)+c;
            res[cnt++]=p%10;
            c=p/10;
           j--;
        }
        if(c)
        {
            res[cnt++]=c;
        }
        for(i=cnt-1;i>=0;i--)
        {
            cout<<res[i];
        }
        puts("");

    return 0;
}

  

时间: 2024-08-06 03:40:05

问题 B: 【高精度】简单高精度加法的相关文章

中石油-【高精度】简单高精度加法

问题 B: [高精度]简单高精度加法 时间限制: 1 Sec  内存限制: 64 MB提交: 63  解决: 20[提交][状态][讨论版] 题目描述 修罗王解决了计算机的内存限制问题,终于可以使用电脑进行大型的魔法运算了,他交给邪狼的第一个任务是计算两个非负整数A.B的和,其中A和B的位数在5000位以内. 输入 共两行数据,第一行为一个非负整数A,第二行为一个非负整数B,A.B的位数均在5000以内. 输出 输出一个非负数,即两数之和. 样例输入 1111111111 2222222222

POJ 3181 Dollar Dayz(完全背包+简单高精度加法)

POJ 3181 Dollar Dayz(完全背包+简单高精度加法) http://poj.org/problem?id=3181 题意: 给你K种硬币,每种硬币分别是1美元,2美元-K美元且可以无限使用,问你用上面K种硬币构成n美元的话有多少种方法? 分析: 本题是一道明显的完全背包问题, 不过本题还可以换一种方法来看: 整数n由前K个自然数构造, 一共有多少种方法? (虽然本题要用到高精度加法, 但是很简单, 不要被吓到哦) 首先是DP部分: 令dp[i][j]==x 表示由前i种硬币构成j

简单高精度加法

[高精度]简单高精度加 题目描述 修罗王解决了计算机的内存限制问题,终于可以使用电脑进行大型的魔法运算了,他交给邪狼的第一个任务是计算两个非负整数A.B的和,其中A和B的位数在5000位以内. 输入 共两行数据,第一行为一个非负整数A,第二行为一个非负整数B,A.B的位数均在5000以内. 输出 输出一个非负数,即两数之和. 样例输入 1111111111 2222222222 样例输出 3333333333 #include <bits/stdc++.h> #define N 5000 #d

3116 高精度练习之加法

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

0.28+0.34=? 一个简单小数加法引发的思考

0.28+0.34=? 我相信这个简单的加法,谁都会,肯定等于0.62嘛. 这是两个特别简单的加法,那如果我在其整数位置上加上其他的数字,或者多加几个和项,你是否还能快速算过来? 我想这时候,我们又得借助计算器了!而这,有时可能就是电脑!尤其是如果咱们借助简单程序语言来算的时候,嘿嘿,可能就不是那么回事了~ 不信你看,用javascript算的结果: 用python算的结果: 当然了,我尝试着用其他语言来试一下,结果好像并不都是这样. 其中,java只会在类型转换的时候出现奇怪的值:(当然这在我

【高精度】高精度数除以低精度数I

问题 G: [高精度]高精度数除以低精度数I 时间限制: 1 Sec  内存限制: 512 MB提交: 173  解决: 71[提交] [状态] [讨论版] [命题人:] 题目描述 修罗王聚集了庞大的暗元素以施展隐匿魔法,该魔法施展后将对其周边的时空产生隐匿效果,当然,隐匿的效果好坏取决于是否将暗元素平均地分配在其周边时空,显然这涉及高精度除法的编程.考虑到邪狼的理解能力,修罗王不得不先将问题简化为:输入一被除数(位数≤5000),输入一除数(整型数据范围内),输出整数商,忽略小数. 输入 共两

【高精度】高精度乘法

问题 J: [高精度]高精度乘法 时间限制: 1 Sec  内存限制: 64 MB提交: 286  解决: 94[提交] [状态] [讨论版] [命题人:] 题目描述 牢门上的第三道锁,需要使用高精度乘法来破译出相应密码,当然,必须使用"万进制算法"计算两个非负整数A.B的积,其中A和B的位数在10000位以内. 输入 共两行数据,第一行为一个非负整数A,第二行为一个非负整数B,A.B的位数均在10000以内. 输出 输出一个数,即A和B的乘积. 样例输入 2 3 样例输出 6 #in

【高精度】高精度阶乘

问题 F: [高精度]高精度阶乘 时间限制: 1 Sec  内存限制: 64 MB提交: 297  解决: 58[提交] [状态] [讨论版] [命题人:] 题目描述 <魔法宝典>对于修罗王是如此重要,是因为<宝典>里记载了很多匪夷所思的魔法原理.例如很久以前,主流魔法界认为传说中的隐身衣是无法实现的,他们的理论是光线进入人的眼睛才能引起视觉,如果有隐身衣存在,则其中的人由于没有光线进入眼中也就看不见外面的情况.但是后来横空出世的<宝典>里却详细叙述了数种隐身衣的实现原

高精度运算 【加法】【减法】

高精度算是我高中期间没有学明白的知识点之一,其实挺简单的东西.核心思路是[按位模拟竖式运算],说白了就是模拟题. 加法减法从低位到高位模拟,因为会进位借位 乘法也从低到高因为进位 除法要从高到低因为我们手算除法时也是从高到低保留余数的. 高精度减法:https://www.luogu.org/problemnew/show/P2142 1 #include<iostream> 2 using namespace std; 3 4 string a1,b1; 5 int a[10005],b[1