wiki oi 3116 高精度练习之加法
给出两个正整数A和B,计算A+B的值。保证A和B的位数不超过500位。
读入两个用空格隔开的正整数
输出A+B的值
3 12
15
两个正整数的位数不超过500位
分析:和减法一样,去掉了两个数的大小比较,发现没必要,还有发现不用判断cc大于10么, 直接cc%=10;
代码:
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<iostream>
#include<algorithm>
using namespace std;
char a[],b[];
int c[];
int main()
{
cin>>a>>b;
memset(c,,sizeof(c));
int alen=strlen(a);
int blen=strlen(b);
int i=alen-,j=blen-,k=;
int carry=;
while(i>=&&j>=)
{
int cc=(a[i--]-'')+(b[j--]-'')+carry;
carry=cc/;
cc%=;
c[k++]=cc;
}
while(i>=)
{
int cc=(a[i--]-'')+carry;
carry=cc/;
cc%=;
c[k++]=cc;
}
while(j>=)
{
int cc=(b[j--]-'')+carry;
carry=cc/;
cc%=;
c[k++]=cc;
}
if(carry!=)c[k++]=carry;//最后判断进位是不是为0不是要进一位 避免23+99=22;
int last=k;
for(int l=k; l>=; l--)//找开头不是0的那个起点
if(c[l]!=)
{
last=l;
break;
}
for(int l=last; l>=; l--)printf("%d",c[l]);
printf("\n");
return ;
}
wiki oi 3116 高精度练习之加法的更多相关文章
- wikioi 3116 高精度练习之加法
题目描述 Description 给出两个正整数A和B,计算A+B的值.保证A和B的位数不超过500位. 输入描述 Input Description 读入两个用空格隔开的正整数 输出描述 Outpu ...
- wiki oi 3115高精度练习之减法
题目描述 Description 给出两个正整数A和B,计算A-B的值.保证A和B的位数不超过500位. 输入描述 Input Description 读入两个用空格隔开的正整数 输出描述 Outpu ...
- #C++初学记录(高精度运算)(加法)
高精度运算 不管是int还是double亦或者long long ,这些定义变量都有数据范围的一定限制,在计算位数超过十几位的数,也就是超过他们自身的数据范围时,不能采用现有类型进行计算,只能自己通过 ...
- wiki oi 1044 拦截导弹
题目描述 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某 ...
- 1214 线段覆盖wiki oi
题目描述 Description 给定x轴上的N(0<N<100)条线段,每个线段由它的二个端点a_I和b_I确定,I=1,2,……N.这些坐标都是区间(-999,999)的整数.有些线段 ...
- LeetCode总结 -- 高精度篇
我们常见的一些主要的数据结构比方整型int或者浮点型float由于位数过多无法用内置类型存储,这时候我们就须要自己实现高精度的数据类型来进行存储和运算.这样的问题在实际产品中还是比較有用的,所以相对来 ...
- hdu 1316 How Many Fibs? (模拟高精度)
题目大意: 问[s,e]之间有多少个 斐波那契数. 思路分析: 直接模拟高精度字符串的加法和大小的比較. 注意wa点再 s 能够从 0 開始 那么要在推断输入结束的时候注意一下. #include & ...
- 高精度算法(C/C++)
高精度算法 (C/C++) 做ACM题的时候,经常遇到大数的加减乘除,乘幂,阶乘的计算,这时给定的数据类型往往不够表示最后结果,这时就需要用到高精度算法.高精度算法的本质是把大数拆成若干固定长度的块, ...
- c++普通高精加
//作为一名蒟蒻,还请诸位不要吐槽. //第一次打c++高精加,内心有点小激动. //为codevs3116 高精度练习之加法 //程序太简单,就不打注释了. #include<cstdio&g ...
随机推荐
- android 隐藏API 在源码下编译报错cannot find symbol symbol
应该是我对android 不熟悉的缘故,今天使用源码编译了一个调用了隐藏api的应用程序始终报错: cannot find symbol symbol : class IPackageInstall ...
- POJ 2752 Seek the Name, Seek the Fame(求所有既是前缀又是后缀的子串长度)
题目链接:http://poj.org/problem?id=2752 题意:给你一个字符串,求出所有前缀后缀(既是前缀又是后缀的子串)的长度 思路:首先整个字符串肯定既是前缀又是后缀,为最大的前缀后 ...
- Java中Calender引用类型
某些时候需要使用深拷贝: Calendar startTime = (Calendar) this._paramModel.getStartTime().clone(); 这样对startTime.a ...
- C文件操作(转载)
/*1.文件的打开(fopen函数)fopen函数用来打开一个文件,其调用的一般形式为:文件指针=fopen(文件名,文件操作方式):例如:FILE *fpinfpin=fopen("c:\ ...
- 查看Xcode所使用Swift的版本
查看Swift版本 $ xcrun swift -version 查看Xcode位置 $ xcrun --find swift 参考链接:http://stackoverflow.com/questi ...
- activemq在windows下启动报错,闪退问题
查验了网上各种方法,都没搞定,最后楼主决定按照linux的解决套路来,把windows计算机名称改为纯英文字母,原计算机名:lee_pc,修改后为leepc,然后重启电脑,再重新运行activemq. ...
- HDU 1847 Good Luck in CET-4 Everybody!
题解:巴什博弈,2^k+1=3N或2^k2=3N,所以3N为P-position,3N+r为N-position. #include <cstdio> int main(){ int n; ...
- D - 楼下水题(kmp+Manacher)
D - 楼下水题 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Submit Statu ...
- 全栈JavaScript之路(七)学习 Comment 类型节点.
凝视 在DOM中,用 Comment 类型 节点表示, 构造器函数为: function Comment(){[native code]}. comment 节点的特征: nodeType:8 no ...
- poj2125Destroying The Graph(最小割+输出方案)
题目请戳这里 题目大意:给一张有向图,现在要选择一些点,删掉图中的所有边.具体操作为:选择点i,可以选择删除从i出发的所有有向边或者进入i的所有有向边,分别有个代价ini和outi,求最小的代价删掉所 ...