当前位置: 首页 > wzjs >正文

青岛网站设计建议i青岛博采建设银行官方网站登

青岛网站设计建议i青岛博采,建设银行官方网站登,正能量网站入口,儿童教育机构网页设计素材题目链接:P2142 高精度减法 - 洛谷 1.题目 2.算法原理 解法:模拟列竖式计算的过程 先用字符串读入,然后拆分每一位,逆序放进数组中利用数组,模拟列竖式减法的过程 在这两步之前要多加一步,在模拟解法的过程&#…

题目链接:P2142 高精度减法 - 洛谷

1.题目  

2.算法原理

解法:模拟列竖式计算的过程

  1. 先用字符串读入,然后拆分每一位,逆序放进数组中
  2. 利用数组,模拟列竖式减法的过程

在这两步之前要多加一步,在模拟解法的过程,一定是一个较大的数减去较小的数,如果是较小的数减较大的数,列竖式计算过程会出错的,如果这道题给的是99-123,此时要把它转换成123-99,在最终输出结果之前先输出一个负号就可以了,所以我们要先处理一个情况,先比较大小,然后用较大的数减去较小的数

有一个问题,题目给的这两个数是用字符串来存的,如果直接用字符串比较大小肯定出错,它涉及字典序vs数的大小的问题,此时有两个数101和99,如果是数的话, 101一定大于99 ,但字符串就不一定了,最终比较结果是99大于101,因为比较字符串的时候是按照字典序来比较的,它的比较方式是我管你这串字符串的长度是多少,直接从最高位开始比较,‘9’这个字符是大于‘1’字符的,所以99字符大于101字符串,这不是我们想要的,处理这种情况,可以在用字符串比较之前,先比较一下长度,长度较长的数一定是大的,如果两个字符串长度相等,再按照字典序的方式来比较就可以了

 还有如果是997-996,结果等于1,因为前导0是要把它删掉的,但此时lc的长度等于3,lc原本指向-1,把前导0去掉后,lc应该指向下标2,所以我们可以判断下lc-1这个位置如果是0,就让lc- -,当他下一个位置是1的时候,让他停下就可以;还有一种情况,如果是999-999,最终的结果是000,lc下标2的时候,lc-1的位置还是0,就不能再减了,因为你最低限度这里面是要存一个0的,所以lc- -的时候要判断一下,lc大于1的时候再去- -,因为lc如果等于1的话,这里即使只剩一个0,lc也不能再减了

代码:

#include <iostream>
using namespace std;const int N = 1e6 + 10;
int a[N], b[N], c[N];
int la, lb, lc; //分别标记abc数组长度// 高精度加法的模版 - c = a + b;
void add(int c[], int a[], int b[])
{for (int i = 0; i < lc; i++){c[i] += a[i] + b[i]; // 对应位相加,再加上进位 9+4=13c[i + 1] += c[i] / 10; // 处理进位 13/10=1c[i] %= 10; // 处理余数 13%10=3}if (c[lc]) lc++;
}int main()
{string x, y; cin >> x >> y;// 1. 拆分每一位,逆序放在数组中la = x.size(); lb = y.size(); lc = max(la, lb);for (int i = 0; i < la; i++) a[la - 1 - i] = x[i] - '0';for (int i = 0; i < lb; i++) b[lb - 1 - i] = y[i] - '0';// 2. 模拟加法的过程add(c, a, b); // c = a + b// 输出结果for (int i = lc - 1; i >= 0; i--) cout << c[i];return 0;
}

文章转载自:

http://cZ3QBIr7.Lmnbp.cn
http://sgUOcquL.Lmnbp.cn
http://VhuKghbj.Lmnbp.cn
http://71GzwVLw.Lmnbp.cn
http://AvEqm7tK.Lmnbp.cn
http://iOIM7GBA.Lmnbp.cn
http://dUaEj2y9.Lmnbp.cn
http://VMVObq64.Lmnbp.cn
http://oBnH2Smp.Lmnbp.cn
http://oId5L2Ww.Lmnbp.cn
http://3NVebMdD.Lmnbp.cn
http://kD8TaGVw.Lmnbp.cn
http://l0HIoAyc.Lmnbp.cn
http://7k5eMNxx.Lmnbp.cn
http://iiqwxaEj.Lmnbp.cn
http://rQZXLnCY.Lmnbp.cn
http://V26gWXpg.Lmnbp.cn
http://1N3NqrR5.Lmnbp.cn
http://iFo23LPU.Lmnbp.cn
http://SPO7Vu2n.Lmnbp.cn
http://6PHcHJHp.Lmnbp.cn
http://bcL4vbpx.Lmnbp.cn
http://hV3HPXII.Lmnbp.cn
http://d2mLAbvf.Lmnbp.cn
http://2MPdha3D.Lmnbp.cn
http://MHXRieYG.Lmnbp.cn
http://DM350UmD.Lmnbp.cn
http://pG4v2NOY.Lmnbp.cn
http://x4IP8tS2.Lmnbp.cn
http://UzOCHe9z.Lmnbp.cn
http://www.dtcms.com/wzjs/756796.html

相关文章:

  • 网站防止采集龙岩小程序app
  • 建一个鲜花买卖网站多少钱网站建设规模设想
  • 皋兰网站建设平台临沂网站建设对实体企业的重要性
  • 网站做ppt模板下载地址河南网站制作公司哪家好
  • 万盛经开区建设局官方网站自己做的网站怎么接数据库
  • 用html5做的音乐网站手工制作火箭模型
  • 南通建设信息网站新余网站开发
  • 微信公众号网站开发本地调试wordpress配合七牛云
  • 谷歌网站建设代理html5开发工具有哪些
  • 青海省住房和建设厅网站首页厦网站建设培训学校
  • 杭州市城市建设学校网站公司建设个网站
  • eclipse tomcat 网站开发重庆造价信息网
  • 哈尔滨建设工程招投标办公室长沙seo管理
  • 央美老师做的家具网站飞言情做最好的小说网站
  • 网站建设平台怎么做asp网站如何打开
  • 会展企业网站建设方案在家做网站
  • 2015年做啥网站能致富网站广告推广怎么做的
  • 网站属于什么公司家庭电脑可以做网站吗
  • 织梦系统做网站wordpress换空间
  • 坪山附近网站建设QQ空间可以建设网站吗
  • 企业管理网站的来历怎么建设自己的一个服务器网站
  • 象山企业门户网站建设郴州网站策划
  • 南京电商网站开发国内有哪些比较好的做定制旅游网站
  • 丹阳网站建设国外网站导航
  • 网站QQ互联教程南皮县做网站
  • 国外上市公司网站建设用织梦做网站快吗
  • 官方网站制作思路久久建筑网 023dir
  • 东营区建设局网站河北建设集团网站
  • 江西网站建设公司联系方式设计网站页面好处
  • 网站logo图标打开网址跳转到国外网站