题目描述:

对于输入的两个不超过100位数字的非负整数,给出两数之和。

输入格式:

在两行中分别给出两个不超过100位数字的非负整数

输出格式:

在一行中输出两数之和

输入样例:

123 12

输出样例:

135

解题思路:

采用IPO思路实现:

(1)I:

为了实现个位对齐、方便计算,将数字当作字符串读入,然后转为数字;

(2)P:

大致的思路如下

sum = (a + b + 进位) % 10;

进位 = (a + b + 进位) / 10;

(3)O:

输出结果即可

代码如下:

#include <iostream>
using namespace std;
const int max_len = 1024;int num[2][max_len] = { 0 };
int len[2] = { 0 };//边界判断-1
int sum[max_len] = { 0 };void in_put() {string str[2];cin >> str[0] >> str[1];len[0] = str[0].size(); len[1] = str[1].size();for (int i = 0; i < 2; i++) {int i_1 = max_len - 1, i_2 = len[i] - 1;while (i_2 != -1) {num[i][i_1] = str[i][i_2] - '0';i_1--, i_2--;}len[i] = i_1;//边界判断-1}
}int calc() {int i_s = max_len - 1, i_1 = max_len - 1, i_2 = max_len - 1;while (i_1 > len[0] || i_2 > len[1]) {//边界判断-1sum[i_s - 1] = (num[0][i_1] + num[1][i_2] + sum[i_s]) / 10;sum[i_s] = (num[0][i_1] + num[1][i_2] + sum[i_s]) % 10;i_s--, i_1--, i_2--;}return sum[i_s] ? i_s : i_s + 1;//边界判断-2
}void out_put(int high) {while (high != max_len) {//边界判断-2cout << sum[high++];}cout << endl;
}int main() {in_put();out_put(calc());return 0;
}

日志:

2022-10-28 发布

2023-1-10 改进算法和思路介绍部分


高精度加法(C++,高精度)相关推荐

  1. (压位)高精度乘法,高精度加法,高精度减法,高精度除法

    大值 乘 大值: 题目链接:https://www.luogu.com.cn/problem/P1303 # include <iostream> # include <string ...

  2. python高精度加法_14.高精度加法

    作者:X3B0A1 1.0 问题 在我们熟悉的数据类型中,能够储存的最大的数也只是longlong的范围. 虽然有些编译器也提供__int128类型,但是最多也只能表示40位左右的数,大小依然有限,而 ...

  3. 高精度加法(A+BProblemII)

    好久没有写文章了,主要是近期开学上网课再加上刷题的缘故,日常有些忙碌. 话不多说,接下来是正题: 一切问题都是有源头的,在这里我就直接先放题了. 接下来我以代码+部分代码的解释+注意事项进行 ps:( ...

  4. 算法学习:高精度加法//c++

    大家好,我是屁孩君,4个月未更新,今天屁孩君给大家带来高精度加法. 高精度加法是用字符串输入的. 首先我们先来简单了解一下高精度加法的步骤: 1:输入字符串. cin>>s1>> ...

  5. 基础练习 高精度加法

    基础练习 高精度加法 时间限制:1.0s 内存限制:512.0MB 问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标 ...

  6. 用C++的类重载高精度加法,乘法和等于符号

    运行结果: 代码如下: #include<iostream> #include<algorithm> #include<string.h> #include< ...

  7. PAT甲级1024 Palindromic Number:[C++题解]回文串和高精度加法

    文章目录 题目分析 题目链接 题目分析 一个判断是否是回文数的函数:check,思路是使用双指针从两端分别往里走. 另一个是高精度加法函数add,传入两个vector. 另外,vector逆序构造可以 ...

  8. PAT甲级1023 Have Fun with Numbers:[C++题解]高精度加法和两个vector大小比较

    文章目录 题目分析 题目链接 题目分析 使用高精度加法高精度加法板子求 这个数的两倍,存在一个vector中. 所谓高精度就是使用string来存大的数,然后模拟列竖式加法,结果一位一位压入数组vec ...

  9. 高精度加法(C++实现)

    高精度加法 简介 用于计算含有超过一般变量存放不下的非负整数 高精度加法这个过程是模拟的小学竖式加法计算 步骤 以下有顺序之分 数组清零 输入 获取长度 逆置 字符型数字转成对应的整型数字 计算并输出 ...

  10. 《信息学奥赛一本通》 高精度加法。输入两个正整数,求它们的和。

    高精度加法.输入两个正整数,求它们的和. 算法分析 升级版代码 算法分析 输入两个数到两个变量中,然后用赋值语句求它们的和,输出.但是,我们知道,在C++语言中任何数据类型都有一定的表示范围.当两个被 ...

最新文章

  1. 清华大学公管学院、数据科学研究院共同助力国家数据治理,国家数据与治理联盟在京成立
  2. 网站SEO优化如何讨好搜索引擎蜘蛛?
  3. SAP FICO PA 模拟题
  4. c++ 多线程 类成员函数_多线程(C++/Python)
  5. php 转换数组的字符集,PHP 自动转换字符集(支持字符串和数组)功能实例
  6. hdu 1058 Humble Numbers
  7. 一款 0 门槛轻松易上手的数据可视化工具
  8. Linux操作系统CentOS7安装
  9. 2020年日历_2020年《故宫日历》发布:浓缩紫禁城600年沧桑
  10. 以太坊Bloom过滤器实现原理及应用场景分析
  11. 【Java8】Stream 由函数生成流:创建无限流 - 实现斐波纳契数列
  12. iPhone企业应用实例分析之二:程序处理流程
  13. 深山红叶PE工具箱嫦娥一号纪念版
  14. 轻松搭建Windows8云平台开发环境
  15. linux centos无线网卡驱动安装,Linux CentOS 7 安装tp link 无线网卡驱动
  16. 如何给老年唱戏机下载有声小说
  17. C语言4位BCD码加法器,四位二进制8421BCD码加法器.doc
  18. vulkan1 (学习笔记)
  19. 计算机win7如何连接wifi网络,win7怎么连wifi,win7电脑连不上网
  20. 沃尔玛全球最便宜的10美元智能机评测报告

热门文章

  1. ipa包的简单校验方法
  2. android Qwerty 键盘搜索联系人分析与实现(支持多音字)
  3. 华为服务器操作系统筹备开源社区,华为开源服务器操作系统EulerOS 开源社区年内上线...
  4. 跟小静读CLR via C#-开篇及目录
  5. 水面渲染-浮力的一种实现
  6. 二元函数凹凸性判定及最值定理
  7. php excel水印图片大小,PHPExcel:如何在第一页标题中插入图像并将其放大以适合其内容?...
  8. UART和RS232/RS485的关系是什么?RS485在linux下的调试 ubuntu串口调试工具
  9. 计算机基础教学中存在的问题,任职教育院校中计算机基础课程教学中存在的问题及对策...
  10. 求π的值C++--递归求阶乘、浮点数精度控制技巧