JDOJ 1789: 高精度A+B
JDOJ 1789: 高精度A+B
洛谷 P1601 A+B Problem(高精)
Description
已知两个整数A、B
求A+B
Input
第一行为A
第二行为B
Output
输出一行为A+B的结果
Sample Input
5 6
Sample Output
11
HINT
0 <= A, B <= \(10^{100000}\)
题解:
100000位的大整数加法,不考虑负数。
一道高精度的板子题。
所谓高精度其实就是代码模拟加法的竖式运算,对于这样一道板子题来讲,我简单说一下高精度加法的实现过程:
字符串读入
字符串转数字,从后往前转
模拟竖式运算进行加法。
去除前导0,进行输出。
聪明一点的看代码就能看懂什么意思:
#include<cstdio>
#include<cstring>
#include<algorithm>
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3)
using namespace std;
const int maxx=1e5+1;
const int INF=1e5;
int a[maxx],b[maxx];
char aa[maxx],bb[maxx];
int main()
{
scanf("%s%s",aa+1,bb+1);
int lena=strlen(aa+1);
int lenb=strlen(bb+1);
for(int i=1;i<=lena;i++)
a[i]=aa[lena-i+1]-'0';
for(int i=1;i<=lenb;i++)
b[i]=bb[lenb-i+1]-'0';
int lenc=max(lena,lenb);
for(int i=1;i<=lenc;i++)
{
a[i]+=b[i];
a[i+1]+=a[i]/10;
a[i]%=10;
}
int t=INF;
while(!a[t])
{
t--;
if(t==0)
{
puts("0");
return 0;
}
}
for(int i=t;i>=1;i--)
printf("%d",a[i]);
return 0;
}
JDOJ 1789: 高精度A+B的更多相关文章
- JDOJ 1790: 高精度A-B
JDOJ 1790: 高精度A-B JDOJ传送门 洛谷 P2142 高精度减法 洛谷传送门 题目描述 高精度减法 输入格式 两个整数a,b(第二个可能比第一个大) 输出格式 结果(是负数要输出负号) ...
- 【高精度】NCPC 2014 C catalansqure
题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1789 题目大意: 求大卡特兰数..公式如下.输入n求Sn(n<=5000) 题目 ...
- JDOJ 2898 删数问题
洛谷 P1106 删数问题 https://www.luogu.org/problemnew/show/P1106 JDOJ 2898: 删数问题 https://neooj.com:8082/old ...
- CSharpGL(28)得到高精度可定制字形贴图的极简方法
CSharpGL(28)得到高精度可定制字形贴图的极简方法 回顾 以前我用SharpFont实现了解析TTF文件从而获取字形贴图的功能,并最终实现了用OpenGL渲染文字. 使用SharpFont,美 ...
- 递推+高精度 UVA 10497 Sweet Child Makes Trouble(可爱的孩子惹麻烦)
题目链接 题意: n个物品全部乱序排列(都不在原来的位置)的方案数. 思路: dp[i]表示i个物品都乱序排序的方案数,所以状态转移方程.考虑i-1个物品乱序,放入第i个物品一定要和i-1个的其中一个 ...
- [Template]高精度模板
重新写一下高精度模板(不要问我为什么) 自认为代码风格比较漂亮(雾 如果有更好的写法欢迎赐教 封装结构体big B是压位用的进制,W是每位长度 size表示长度,d[]就是保存的数字,倒着保存,从1开 ...
- Code[VS] 3123 高精度练习之超大整数乘法
FFT 做 高精度乘法 #include <bits/stdc++.h> ); struct complex { double a, b; inline complex( , ) { a ...
- Java 高精度数字
BigInteger // 高精度整数 BigDecimal //高精度小数 小数位数不受限制
- c++减法高精度算法
c++高精度算法,对于新手来说还是一大挑战,只要克服它,你就开启了编程的新篇章,算法. 我发的这个代码并不是很好,占用内存很多而且运行时间很长(不超过0.02秒),但是很好理解,很适合新手 高精算法的 ...
随机推荐
- Moving x86 assembly to 64-bit (x86-64)
While 64-bit x86 processors have now been on the market for more than 5 years, software support is o ...
- ABP docker发布
环境:CentOS 7.6 64位 linux基本命令: cd:进入某个文件夹 mkdir:创建文件夹 ls:显示文件 ll:罗列出当前文件或目录的详细信息 判断是文件 还是文件夹: Linux系统中 ...
- 用Node.js给邮箱发送邮件
首先我们需要做的是下载发送邮件的包 cnpm install nodemailer --save 然后写发送邮件的代码,代码如下: 实现原理是:用你的邮箱给其他邮箱发送邮件,所以这里需要填写你的邮箱和 ...
- MySQL实战45讲学习笔记:第四十四讲
一.引子 这是我们专栏的最后一篇答疑文章,今天我们来说说一些好问题. 在我看来,能够帮我们扩展一个逻辑的边界的问题,就是好问题.因为通过解决这样的问题,能够加深我们对这个逻辑的理解,或者帮我们关联到另 ...
- 小米笔试题:无序数组中最小的k个数
题目描述 链接:https://www.nowcoder.com/questionTerminal/ec2575fb877d41c9a33d9bab2694ba47?source=relative 来 ...
- 在使用confluent-kafka-go 时遇到如下问题
问题 $ go build t.go # pkg-config --cflags rdkafka Package rdkafka was not found in the pkg-config sea ...
- 1+x 证书 web 前端开发 HTML5 - 新增的元素,删除的元素
官方QQ群 1+x 证书 web 前端开发 HTML5 - 新增的元素,删除的元素 http://blog.zh66.club/index.php/archives/197/
- Knative 基本功能深入剖析:Knative Serving 自动扩缩容 Autoscaler
Knative Serving 默认情况下,提供了开箱即用的快速.基于请求的自动扩缩容功能 - Knative Pod Autoscaler(KPA).下面带你体验如何在 Knative 中玩转 Au ...
- visa
- 练手WPF(一)——模拟时钟与数字时钟的制作(下)
继续数字时钟.上一篇写好了数字笔划专用的DigitLine类.现在是时候使用它了.下面对一些主要代码进行说明. 打开MainWindow.xaml.cs文件: (1)添加字段变量 // 数字时钟字段定 ...