Time Limit: 1 second

Memory Limit: 50 MB

【问题描述】

输入两个整数x,y输出它们的和。(0<=x,y<=10的100次幂)

【输入】

共2行;

    第一行为x。

    第二行为y。

【输出】

包含1行,一个整数,表示求得的和。

【输入样例】

  1. 123
  2. 1234

【输出样例1】

  1. 1357 回车结束

【题解】

高精度加法。

原理:

如两个加数分别为

789543

1111111

将他们以整数形式倒着存入两个数组 数组的每一个位置存一位数字

a[] =  345987

b[] = 1111111

加的时候直接c[i]+=a[i]+b[i]就可以,因为是倒着存 进位可以直接进到下一位。

【代码】

  1. #include <cstdio>
  2. #include <iostream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. const int MAXN = 400;
  8.  
  9. string s1,s2;
  10. int a[MAXN],b[MAXN],c[MAXN],l1,l2,l3;
  11.  
  12. void input_data() //以字符串的形式输入数据
  13. {
  14. cin >> s1;
  15. cin >> s2;
  16. l1 = s1.size();//获取数字的长度
  17. l2 = s2.size();
  18. for (int i = 1;i <= l1;i++) //存入一个整形数组
  19. a[i] = s1[l1-i] - '0';
  20. for (int i = 1;i <= l2;i++)
  21. b[i] = s2[l2-i] - '0';
  22. if (l1 > l2) //获取两个数中那个较长的数字
  23. l3 = l1;
  24. else
  25. l3 = l2;
  26. }
  27.  
  28. void get_ans()
  29. {
  30. for (int i = 1;i <= l3;i++) //初始化一下答案数组
  31. c[i] = 0;
  32. for (int i = 1;i <= l3;i++) //做加法
  33. {
  34. c[i] = c[i] + a[i] + b[i];
  35. c[i+1] = c[i+1] + (c[i] /10); //处理进位问题
  36. c[i] = c[i] % 10;
  37. }
  38. while (c[l3+1]>0) //不断进位。
  39. {
  40. l3++;
  41. c[l3+1] = c[l3+1] + c[l3]/10;
  42. c[l3] = c[l3] % 10;
  43. }
  44. }
  45.  
  46. void output_ans()
  47. {
  48. for (int i = l3;i >= 1;i--)
  49. printf("%d",c[i]);
  50. printf("\n");
  51. }
  52.  
  53. int main()
  54. {
  55. //freopen("F:\\rush.txt","r",stdin);
  56. input_data();
  57. get_ans();
  58. output_ans();
  59. return 0;
  60. }

【2037】利用字符串处理,输出x+y的结果的更多相关文章

  1. 优化php代码 - 字符串echo输出 逗号也可作php连接符

    2016年12月12日10:00:16 ====================== 网页访问速度的提升,是可以通过代码的优化来实现的.代码的优化,并不是说代码越少越好,而是主要看代码的运行能力和执行 ...

  2. Java基础 -- 字符串(格式化输出、正则表达式)

    一 字符串 1.不可变String String对象是不可变的,查看JDK文档你就会发现,String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以包含修改后 ...

  3. 接口(Interfaces)与反射(reflection) 如何利用字符串驱动不同的事件 动态地导入函数、模块

    标准库内部如何实现接口的 package main import ( "fmt" "io" "net/http" "os" ...

  4. 编程算法基地-2.1利用字符串API

    2.1利用字符串API 字符串是Java类型最常用.并且是复合类型 串非常经常用于,其最佳API熟悉文档. 推断串中有没有反复的字符 String s ="abcdebxyz"; ...

  5. python 使用json.dumps() 的indent 参数,获得漂亮的格式化字符串后输出

    想获得漂亮的格式化字符串后输出,可以使用json.dumps() 的indent 参数.它会使得输出和pprint() 函数效果类似 >>> data {'age': 4, 'nam ...

  6. 字符串分隔 ->连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

        •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组:•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100 ...

  7. [JS] 如何自定义字符串格式化输出

    在其他语言中十分常见的字符串格式化输出,居然在 Javascript 中不见踪影,于是决定自己实现该方法,以下就是个人编写的最简洁实现: String.prototype.format = funct ...

  8. js 获取字符串的 像素 宽度 ----字符串格式化输出

    function getLenPx(str, font_size) { var str_leng = str.replace(/[^\x00-\xff]/gi, 'aa').length; retur ...

  9. C语言中以字符串形式输出枚举变量

    C语言中以字符串形式输出枚举变量 摘自:https://blog.csdn.net/haifeilang/article/details/41079255 2014年11月13日 15:17:20 h ...

  10. C#根据用户输入字符串,输出大写字母有几个,小写字母有几个

    static void Main(string[] args) { // 根据用户输入字符串,输出大写字母有几个,小写字母有几个. Console.WriteLine("请输入一行英文代码& ...

随机推荐

  1. 【2017 Multi-University Training Contest - Team 4】Time To Get Up

    [Link]: [Description] [Solution] 把每个数字长什么样存到数组里就好;傻逼题. (直接输入每一行是什么样子更快,不要一个字符一个字符地输入) [NumberOf WA] ...

  2. 怎样利用ash监控会话

    ash是很有效的监控工具之中的一个.1秒抓一次 select max(sample_time)over(),min(sample_time)over() from dba_hist_active_se ...

  3. Exclusive or

    题目连接 题意: 每次给一个n.求 (2≤n<10500) 分析: 先说一下自己的想法,假设将n换成二进制数,也就一两千位左右,那么一位一位处理是能够接受的. 将0-n写成二进制形式后,显然全部 ...

  4. 关于Promise详解

    异步回调 回调地狱 在需要多个操作的时候,会导致多个回调函数嵌套,导致代码不够直观,就是常说的回调地狱 并行结果 如果几个异步操作之间并没有前后顺序之分,但需要等多个异步操作都完成后才能执行后续的任务 ...

  5. 二维LIS(CDQ分治)

    题目描述 给定一个长度为N的序列S,S的每个元素pi是一个二元组(xi,yi),定义pi<pj当且仅当xi<xj并且yi<yj,求S的最长上升子序列长度 输入格式 第一行一个N,表示 ...

  6. jsonp跨域实例丨利用百度数据制作搜索页面

    <!DOCTYPE html><html>    <head>        <meta charset="UTF-8">      ...

  7. Bootstrap时间控件常用配置项

    1.给下面4个文本框初始化   $(function(){ $("#orderStartTime,#orderEndTime,#preSaleStartTime,#preSaleEndTim ...

  8. 多校连萌15-8-12#A

    #include <cstdio> #include <iostream> #include <algorithm> #include <queue> ...

  9. 【部分原创】python实现视频内的face swap(换脸)

    1.准备工作,按博主的环境为准 Python 3.5 Opencv 3 Tensorflow 1.3.1 Keras 2 cudnn和CUDA,如果你的GPU足够厉害并且支持的话,可以选择安装 那就先 ...

  10. Des 加密cbc模式 padding

    using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using Syst ...