其他高精度算法如下:
高精度减法【c++实现】
高精度乘法【c++实现】
高精度除法【c++实现】
——————————————————————————————
说在前面:
众所周知 int,long,long long 的能力是有限制的,具体见下表:

然而现实中的数字是可以非常大的,大到 long long 都装不下,这个时候如果对两个这样的数字进行加减乘除显然是 long long 都无能为力了。欸!那该怎么办呢?
这时候,就到了我们的高精度算法发光发热的时候啦!

这里先说高精度加法的实现:
首先要明确的一点是,高精度加法就是在模拟现实中加法计算的方法而已,用数组的一位存储数字的一位,把两个数字一位一位的相加,当两位数相加再加进位的数字大于等于10的时候就要进位,同时当前位只保留个位数,保证每一位只有一个数字。(可以自己列个竖式感受一下easy )

需要解决的一些问题:
例如:976+515=1491

如果像这个样子存两个数子的话就会发现一个问题,因为我们要保证数组的每一位只有一个数字,那ans的进位没有地方放了啊(总不能不要了吧)
再例如:976+5151=6127

这种情况下,因为 num1 和 num2 没有对齐位,所以相加的时候也不好处理 num1 的哪一位加 num2 的哪一位。

解决方法:
976+5151=6127

于是乎,我们就要把 num1 和 num2 倒着存进数组里,这样就顺利的解决了对齐问题和进位问题!!【鼓掌】【鼓掌】【鼓掌】

那么现在进入正题:
思路:

  1. 用字符数组接受两个数字(这样子数字就变成了一位一位的了)
  2. 将字符数组倒序转为整形数组进行运算(字符相加可不太好做)
  3. 将结果倒序输出就是答案啦
#include <iostream>
#include <cstring>
using namespace std;int main(){int num1[520]={0},num2[520]={0},ans[520]={0};//自己根据需要定义整形数组的大小 int temp,i,j;                      //temp是用来存进位的数字的 char num1c[520]={0},num2c[520]={0};//接受数字时用的字符数组 cin>>num1c>>num2c;      //接收两个数字到字符数组(这是还是正向的) int len1=strlen(num1c);   //计算num1的长度 int len2=strlen(num2c);    //计算num2的长度//将两个字符型的数字 倒序存到对应整型数组里 (记得减字符‘0’) //数字低位---------------->数字高位 for(i=len1-1;i>=0;i--){ num1[len1-1-i]=num1c[i]-'0';}for(i=len2-1;i>=0;i--){num2[len2-1-i]=num2c[i]-'0';}//计算两个数字的和 //循环的时候可以全部过一遍,也可以根据两个数字的位数和进位来决定(循环次数会少一些)//但我们要充分相信计算机的能力(bushi) for(i=0;i<=520;i++){ans[i]=num2[i]+num1[i]+temp;//求和 temp=ans[i]/10;//ans[i]如果大于10就进位 ans[i]%=10;//ans[i]取个位数 }len2++;//最高位加 1 防止漏掉最后的进位 //当数字总位数大于1时,去掉开头的0//不要全都去掉哦,不然0+0就没有输出了 while(ans[len2]==0&&len2>0) len2--; //倒序打印出来就是答案了!!!! for(i=len2;i>=0;i--){cout<<ans[i];}}


结果发现非常成功!!!【撒花】【撒花】【撒花】

高精度加法【c++实现】相关推荐

  1. 基础练习 高精度加法

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

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

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

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

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

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

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

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

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

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

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

  7. 高精度加法(非负)和大数阶乘及和汽水问题

    高精度加法(非负)和大数阶乘 文章目录 高精度加法(非负)和大数阶乘 一.问题描述 二.代码 三.问题描述 四.代码 五.问题描述 六.代码 一.问题描述 二.代码 #define _CRT_SECU ...

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

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

  9. CCF NOI1138 高精度加法

    问题链接:CCF NOI1138 高精度加法. 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 给两个正整数,计算它们的和. 输入 两行,每行表示一个数(位数达10000位). ...

  10. 高精度加法 problem A+B

    题目描述 高精度加法,相当于 a+b problem,不用考虑负数. 输入格式 分两行输入.a,b <=10^500 输出格式 输出只有一行,代表 a+b 的值. 输入输出样例 输入 1001 ...

最新文章

  1. 织梦dedecms如何快速使用拼音首字母做栏目名称
  2. T-SQL中的随机数
  3. mysql 函数重载_C#方法重载(函数重载)
  4. AAAI-2020 || 52篇深度强化学习accept论文汇总
  5. php导出excel表格需要隐藏行,php - 隐藏或删除列时PHPExcel导出图像问题 - 堆栈内存溢出...
  6. 自己实现多线程的socket,socketserver源码剖析
  7. Android开发中如何创建自定义对话框
  8. 35岁中年博士失业,决定给找高校教职的后辈一些建议
  9. 【安卓开发】AndroidStudio项目提交到github最详细步骤
  10. map to javaBean
  11. android 拉伸图片
  12. 人生苦短 须用Kotlin
  13. 工作流系统之三十四 集成用户系统
  14. 凤凰网php,凤凰网房产频道招聘 web 前端工程师、PHP 工程师 15-25k,欢迎简历来砸~...
  15. 一个关于LSTM生成歌词的练习
  16. 论文结尾参考文献形式
  17. HashMap是什么?HashMap的底层原理是什么?
  18. 计算机为什么有网络凭证,Win10访问局域网中计算机共享文件显示需要网络凭证怎么办?...
  19. java获取文件大小_Java实现获取文件大小的几种方法
  20. android 克隆攻击原理,通过CTF学习Android漏洞(炸弹引爆+dex修复)2015 RCTF / 攻防世界高手区 where...

热门文章

  1. K8S Calico网络插件之IPIP模式
  2. Win7使用粘滞键登录Administrator账号
  3. 大数据培训机构水有多深?
  4. COSCOI拥有知识产权的“Go East”角色在东南亚大受欢迎,为全球扩张铺平道路
  5. Exception Processing Message 0xc0000005 Parameters
  6. Calendar类(日历)
  7. 解决 java.io.FileNotFoundException:请求的操作无法在使用用户映射区域打开的文件上执行。
  8. 微信发送验证码进行验证
  9. 我们用程序整理出了一份Python英语高频词汇表,拿走不谢!
  10. 千牛文件已上传服务器,千牛怎样挂在云服务器上