博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51NOD 大数加法以及python写法
阅读量:5062 次
发布时间:2019-06-12

本文共 1818 字,大约阅读时间需要 6 分钟。

大数加法一般为小学生式的“竖式计算”要特别注意的是借位与进位的问题(先给看c++写法,我怕先看了python写法,会看不下去c++写法)这题还有要注意的是

1、同符号的话,直接加就行,最后再看正负号

2、不同的话则看,两个数的模的大小,在最后判断填补正负号,

AC代码:

#include
#include
#include
#include
#include
using namespace std;const int maxn = 10110;char ch1[maxn],ch2[maxn];int a[maxn],b[maxn],p,q,carry;int c[maxn],car;bool flag;void add(int len){//carry=0无进位,=1有进位 for(int i=0;i
=10){ carry=1; c[i]=t-10; } else { carry=0; c[i]=t; } } if(carry==1)c[len]=1;}int cmp(int l){ for(int i=l-1;i>=0;i--){ if(a[i]==b[i])continue; if(a[i]>b[i]){ return 1; } else { return -1; } } return 2;}int minu(int l1,int l2){//car=0无借位,=1有借位 if(l1==l2){ int r=cmp(l1); if(r==2){ flag=true; return 0; } else if(r==1){ for(int i=0;i
=b[i]){ c[i]=a[i]-b[i]; car=0; } else{ c[i]=a[i]+10-b[i]; car=1; } } } else { for(int i=0;i
=a[i]){ c[i]=b[i]-a[i]; car=0; } else{ c[i]=b[i]+10-a[i]; car=1; } } } } else { if(l1>l2){ for(int i=0;i
=b[i]){ c[i]=a[i]-b[i]; car=0; } else{ c[i]=a[i]+10-b[i]; car=1; } } } else { for(int i=0;i
=a[i]){ c[i]=b[i]-a[i]; car=0; } else{ c[i]=b[i]+10-a[i]; car=1; } } } }}int main(){ int len1=0,len2=0,i,j; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); cin>>ch1>>ch2; if(ch1[0]=='-')p=1; if(ch2[0]=='-')q=1; for(i=strlen(ch1)-1;i>=p;i--){ a[len1++]=ch1[i]-'0'; } for(i=strlen(ch2)-1;i>=q;i--){ b[len2++]=ch2[i]-'0'; } carry=0; car=0; flag=false; int len=max(len1,len2); if(p==0&&q==0){ add(len); } else if(p==1&&q==1){ add(len); cout<<"-"; } else { minu(len1,len2); if(len1>len2&&p==1&&q==0){ cout<<"-"; } else if(len1
=0){ if(c[len]!=0)break; len--; }//cout<
<
=0){ cout<

上面写的可能有点烦,还没来的及精简,先看着

下面是python

a=int (input());b=int (input());print(a+b);
是不是感觉被耍了,嘿嘿

转载于:https://www.cnblogs.com/lived-hu/p/9838918.html

你可能感兴趣的文章
dwz ie10一直提示数据加载中
查看>>
Windows Phone开发(4):框架和页 转:http://blog.csdn.net/tcjiaan/article/details/7263146
查看>>
Windows Phone Marketplace 发布软件全攻略
查看>>
Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)【转】
查看>>
语义web基础知识学习
查看>>
hexo个人博客添加宠物/鼠标点击效果/博客管理
查看>>
python asyncio 异步实现mongodb数据转xls文件
查看>>
关于WPF的2000件事 02--WPF界面是如何渲染的?
查看>>
单元测试、、、
查看>>
SVN使用教程总结
查看>>
JS 浏览器对象
查看>>
TestNG入门
查看>>
【ul开发攻略】HTML5/CSS3菜单代码 阴影+发光+圆角
查看>>
虚拟中没有eth0
查看>>
Unity 3D游戏开发学习路线(方法篇)
查看>>
BZOJ2049[Sdoi2008]Cave 洞穴勘测(LCT模板)
查看>>
vuex插件
查看>>
2011年12月09日
查看>>
[ZJOI2007]棋盘制作 【最大同色矩形】
查看>>
合并单元格
查看>>