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. 笔试题.NET基础代码面试题

    题目如下,本随笔只是记录,都是一些自身面经的题目,您既然点开了的话,学习下无妨,说不定有帮助呢 以下答案都经过博主一个个去运行过. 题目1 (实例化后 x=?;y=? 输出什么): public cl ...

  2. watch监听对象的属性

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. J20航模遥控器开源项目系列教程(六)亚克力外壳制作

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J ...

  4. 虚拟局域网Vlan配置实战

    VLAN 的基本概念 Access 类型的接口 Trunk 类型的接口 接口类型小结 以太网交换机的二层接口类型 Access口接收帧 Access口发送帧 Trunk口接收帧 Trunk口发送帧 H ...

  5. 容器服务 TKE 存储插件与云硬盘 CBS 最佳实践应用

    引言 随着自研上云的深入,越来越多的有状态服务对于在 TKE 集群中使用云上存储能力的需求也越来越强烈. 目前腾讯云容器服务 TKE(Tencent Kubernetes Engine已支持在 TKE ...

  6. css 01-CSS属性:字体属性和文本属性

    01-CSS属性:字体属性和文本属性 #本文重要内容 CSS的单位 字体属性 文本属性 定位属性:position.float.overflow等 #CSS的单位 html中的单位只有一种,那就是像素 ...

  7. flink连接器-流处理-读写redis

    写入redis resultStream.addSink(new RedisSink(FlinkUtils.getRedisSinkConfig(parameters),new MyRedisMapp ...

  8. Python科学计算库Numpy

    Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ...

  9. JavaScript之函数原型链完整版

    我的上一篇文章有解释绅士原型及简单的原型链,在这里我将对原型链做完整讲述: // 函数的原型链: 把函数当对象(实例对象)来看 function Person(){} // 底层Function创建出 ...

  10. EF Core扩展工具记录 批量操作 记录修改删除历史 动态linq

      Microsoft.EntityFrameworkCore.UnitOfWork  Microsoft.EntityFrameworkCore的插件,用于支持存储库,工作单元模式以及支持分布式事务 ...