Problem Description

I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.

Input

The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line consists of two positive integers, A and B. Notice that the integers are very large, that means you should not process them by using 32-bit integer. You may assume the length of each integer will not exceed 1000.

Output

For each test case, you should output two lines. The first line is "Case #:", # means the number of the test case. The second line is the an equation "A + B = Sum", Sum means the result of A + B. Note there are some spaces int the equation. Output a blank line between two test cases.

Sample Input

 

2 1 2 112233445566778899 998877665544332211

Sample Output

 

Case 1: 1 + 2 = 3 Case 2: 112233445566778899 + 998877665544332211 = 1111111111111111110

问题描述
对您来说,我有一个非常简单的问题。给定两个整数A和B,您的工作是计算A + B的总和。
 
输入项
输入的第一行包含一个整数T(1 <= T <= 20),它表示测试用例的数量。然后是T行,每行由两个正整数A和B组成。请注意,这些整数非常大,这意味着您不应使用32位整数对其进行处理。您可以假设每个整数的长度不超过1000。
 
输出量
对于每个测试用例,您应该输出两行。第一行是“ Case#:”,#表示测试用例的编号。第二行是等式“ A + B = Sum”,Sum表示A + B的结果。请注意,该等式中有一些空格。在两个测试用例之间输出空白行。
 
样本输入
 
2
1 2
112233445566778899 998877665544332211
 
样本输出
 
情况1: 1 + 2 = 3
情况2: 112233445566778899 + 998877665544332211 = 1111111111111111110
 
 
解答:
#include<cstdio>

#include<iostream>

#include<string>

using namespace std;

int main()

{

    int p,A,B,num=1,sum[1000];

    string a, b;

    cin >> p;

    while (p--)

    {

        int m=0, n=0, k = 0, temp=0;

        cin>>a>>b;

        A = a.length();

        B = b.length();

        A -= 1;

        B -= 1;

        while (A>=0&&B>=0)

        {

         m =a[A]-'0';

         n =b[B]-'0';

         sum[k++] = (m+n+temp)%10;

         temp = (m+n+temp)/10;

         A--;

         B--;

          }

        if (A > B)

        {

            while (A>=0)

            {

                n = a[A] - '0';

                sum[k++] = (n+temp) % 10;

                temp = (n+temp) / 10;

                A--;

            }

        }

        if (A<B)

        {

            while (B>=0)

            {

                n = b[B] - '0';

                sum[k++] = (n + temp) % 10;

                temp = (n + temp) / 10;

                B--;

            }

        }

        sum[k] = temp;

        cout << "Case " << num << ':' << endl;

        cout << a <<" + "<<b << " = ";

        num++;

    for(int i=k-1;i>0;i--)

        {

        cout << sum[i];

        }

    cout << sum[0]<<endl;

    if (p !=0) cout << endl;

    }

    return 0;

}
 
 
 
 
 

杭电OJ----1002A + B问题II(超大数计算问题)的更多相关文章

  1. C#利用POST实现杭电oj的AC自动机器人,AC率高达50%~~

    暑假集训虽然很快乐,偶尔也会比较枯燥,,这个时候就需要自娱自乐... 然后看hdu的排行榜发现,除了一些是虚拟测评机的账号以外,有几个都是AC自动机器人 然后发现有一位作者是用网页填表然后按钮模拟,, ...

  2. 杭电oj 2095 & 异或^符号在C/C++中的使用

    异或^符号,在平时的学习时可能遇到的不多,不过有时使用得当可以发挥意想不到的结果. 值得注意的是,异或运算是建立在二进制基础上的,所有运算过程都是按位异或(即相同为0,不同为1,也称模二加),得到最终 ...

  3. 用python爬取杭电oj的数据

    暑假集训主要是在杭电oj上面刷题,白天与算法作斗争,晚上望干点自己喜欢的事情! 首先,确定要爬取哪些数据: 如上图所示,题目ID,名称,accepted,submissions,都很有用. 查看源代码 ...

  4. 杭电oj 4004---The Frog Games java解法

    import java.util.Arrays; import java.util.Scanner; //杭电oj 4004 //解题思路:利用二分法查找,即先选取跳跃距离的区间,从最大到最小, // ...

  5. 『ACM C++』HDU杭电OJ | 1415 - Jugs (灌水定理引申)

    今天总算开学了,当了班长就是麻烦,明明自己没买书却要带着一波人去领书,那能怎么办呢,只能说我善人心肠哈哈哈,不过我脑子里突然浮起一个念头,大二还要不要继续当这个班委呢,既然已经体验过就可以适当放下了吧 ...

  6. 杭电oj————2057(java)

    question:A+ B again 思路:额,没啥思路/捂脸,用java的long包里的方法,很简单,只是有几次WA,有几点要注意一下 注意:如果数字有加号要删除掉,这里用到了正则表达式“\\+” ...

  7. 爬取杭电oj所有题目

    杭电oj并没有反爬 所以直接爬就好了 直接贴源码(参数可改,循环次数可改,存储路径可改) import requests from bs4 import BeautifulSoup import ti ...

  8. 杭电OJ——1198 Farm Irrigation (并查集)

    畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可 ...

  9. 杭电OJ——1007 Quoit Design(最近点对问题)

    Quoit Design Problem Description Have you ever played quoit in a playground? Quoit is a game in whic ...

  10. 杭电 OJ 提交代码需要注意的问题

    杭电acm 提交代码需要注意的问题 1. 用 Java 的时候类名请用 Main 2. Java 提交出现 PE 的可能原因有 1) 最基本的错误是空格问题,比如注意每行的末尾是否输出空格 2) 用 ...

随机推荐

  1. Typescript + React 高仿 Antd 从零到一打造自己的组件库(完整)

    买了张轩老师的课程,感觉很不错,适用于高级进阶,老师讲的通俗易懂,欢迎讨论学习.WX:Jujiu_i

  2. Oracle表操作-创建及增删改查

    数据类型: 1.CHAR:定长字符类型,默认长度是1,最长不超过2000字节. 2.CARCHAR2(length):可变字符类型,默认长度是1,最长不超过4000字符. 3.NUMBER(P,S): ...

  3. 2、tensorflow 变量的初始化

    https://blog.csdn.net/mzpmzk/article/details/78636137 关于张量tensor的介绍 import tensorflow as tf import n ...

  4. mybatis批量修改数据

    xxxMapper.xml: <update id="updateSensorWarnings" parameterType="java.util.List&quo ...

  5. Social Infrastructure Information Systems Division, Hitachi Programming Contest 2020 D题题解

    将题意转换为一开始\(t = 0\),第\(i\)个操作是令\(t \leftarrow (a_i + 1) t + (a_i + b_i + 1)\).记\(A_i = a_i + 1, B_i = ...

  6. ELK-Kibana汉化

    https://github.com/anbai-inc/Kibana_Hanization  补丁包 教程:1:首先,我们先杀死了Kibana进程,其实,教程说不用重启或关闭Kibana,但是,我们 ...

  7. STL——容器(Map & multimap)的插入与迭代器

    1. 容器(Map & multimap)的插入 map.insert(...);    //往容器插入元素,返回pair<iterator,bool> map中插入元素的四种方式 ...

  8. MySQL锁(一)全局锁:如何做全库的逻辑备份?

    数据库锁设计的初衷是处理并发问题,这也是数据库与文件系统的最大区别. 根据加锁的范围,MySQL里大致可以分为三种锁:全局锁.表锁和行锁.接下来我们会分三讲来介绍这三种锁,今天要讲的是全局锁. 全局锁 ...

  9. Asp.net core验证类ModelStateDictionary的bug

    在使用.net core 3.1 时发现明明没有验证请求类属性,甚至已经加了默认值 但是验证类时依然会报错 经过网上百度等搜索,尝试使用可空类型赋值默认值 果然验证类没有报错 不清楚是微软的bug还是 ...

  10. Java IO流 BufferedInputStream、BufferedOutputStream的基本使用

    BufferedInputStream.BufferedOutputStream的基本使用 BufferedInputStream是FilterInputStream流的子类,FilterInputS ...