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. PyQt(Python+Qt)学习随笔:快速理解Qt 中Action是什么

    一.引言 Qt中Action这个词接触很久了,一直以来没去学习,今天终于准备学习了,查了些资料,初步总结为: Action为界面操作的抽象,应用程序可以通过菜单,工具栏按钮以及键盘快捷键来调用通用的命 ...

  2. 浅谈php反序列化漏洞

    关于php的反序列化漏洞要先说到序列化和反序列化的两个函数,即: serialize() 和unserialize(). 简单的理解: 序列化就是将一个对象变成字符串 反序列化是将字符串恢复成对象 这 ...

  3. Scrum 冲刺 第二篇

    Scrum 冲刺 第二篇 每日会议照片 昨天已完成工作 队员 昨日完成任务 黄梓浩 初步完成app项目架构搭建 黄清山 完成部分个人界面模块数据库的接口 邓富荣 完成部分后台首页模块数据库的接口 钟俊 ...

  4. TMOOC-1709-小明复仇

    题目描述 小明所在的世界上一共有n个城市,城市间有m条双向道路.小明现在在城市1,他想到位于城市n的小韩隆家询问他为什么没有将自己的五三复原完成.由于小韩隆手下有许多小弟,小明担心自己可能再也回不来, ...

  5. 本文帮你在 Unix 下玩转 C 语言

    shell是一种特殊的应用程序(命令行解释器),他为运行其他应用程序提供了一个接口. posix规范了操作系统是什么样 每个进程都有一个工作目录(又叫当前目录),相对路径都是从工作目录开始解释. Ct ...

  6. Java-Word转PDF

    1. 下载jar包或者引入pom.xml 下载:https://www.e-iceblue.cn/Downloads/Free-Spire-Doc-JAVA.html 引入pom.xml:https: ...

  7. c++日常小问题

    语法解析问题. 当给一个变量构造函数传递一个临时变量,而不是命名的变量,c++编译器会将其解析为函数声明,而不是类型对象的定义. class hello { void operator()() { s ...

  8. linux -bash: unzip: 未找到命令(实测有效!)

    今天使用linux解压的时候遇到了不能解压的问题,然后就看了一些文档,写一个解决方案 Linux version 3.10.0-957.10.1.el7.x86_64 (mockbuild@kbuil ...

  9. kvm环境部署及常用指令

    Linux下通过kvm创建虚拟机,通过vnc连接,做好配置后,通过ssh登录,并开启iptables Kvm虚拟化搭建教程参考链接:https://jingyan.baidu.com/article/ ...

  10. pixi.js 简单交互事件(点击、缩放、平移)

    注意:本文代码使用的Pixi.js版本为PixiJS 5.3.3 pixi中常用的鼠标交互事件: //兼容鼠标和触摸屏的共同触发 type InteractionPointerEvents = &qu ...