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

做3d地形比较好的网站WordPress 4.4.16

做3d地形比较好的网站,WordPress 4.4.16,手机网站建设需求,西宁平台网站建设这道题是一道大整数加法,涉及到高精度的算法,比如说有两个数要进行相加,1111111111111111111111111111111111111112222222222222222222222222222222,那么如果这两个数很大的话我们常用的数据类型是不能进行计算的,那么…

这道题是一道大整数加法,涉及到高精度的算法,比如说有两个数要进行相加,111111111111111111111111111111111111111+2222222222222222222222222222222,那么如果这两个数很大的话我们常用的数据类型是不能进行计算的,那么我们就需要另一种方式来进行解决,在这里我们可以使用到字符串和数组,我们使用字符串对两个数进行存储,用数组对字符串中的每个数分开存储,那么这样就做到了每位相加,变成了个位数与个位数相加,大大降低了我们计算的难度,我们在这里可以对两个数反序存储,因为后续我们进行相加的时候就可以从低位,下标从小到大,逐位相加,方便我们的操作。在我们进行存储的过程中,我们需要注意,可能会出现前导0,那么我们减去字符0即可,这样就去除我们的前导0,那么接下来我们思考,如何实现我们两个数相加的操作,我们两个数进行相加的时候,可能会有进位的产生,那么我们这个时候对两数相加的结果进行除10,将结果先赋值给下一位结果,既然当前有进位的可能,我们就需要将当前结果进行对10取模,这样我们一次两数相加的操作就结束了,接下来我们循环对两个数组进行此操作即可,结束后我们就得到了我们相加的结果,那么我们循环的终止条件是什么呢,我们循环的终止条件就是结果数组c[]一共有几位,想知道结果一共有几位,就需要知道两个相加的数一共有几位,我们两个数相加最多不超过两个数中最大数的位数+1,我们结果的位数lc就是max(la,lb)+1,在这里我们多留一位预判相加后最高位可能会产生进位,如果没有我们再对结果进行特殊处理即可,接下来我们就需要求出la,以及我们的lb,在这里我们可以定义一个变量aIndex,他表示我们数组加到第几位了,如果我们当前遍历的数不为0,我们就更新la,这样就确定了la,lb。最后我们就需要最结果进行输出,在对结果进行输出前,我们需要对结果数组中的数进行前导0的处理,如果我们最高位是0我们就需要对我们的lc进行减减的操作,这个操作是需要借助循环进行处理的,在这里我们使用while,循环的条件就是当前最高位的数如果为0,并且我们需要保证位数>=1的前提下,对lc--,

这样我们只需要对结果数组反向循环输出即可。

接下来是举例计算过程和代码

第一步对数据进行反序存储,如果两个数为123456和111111,我们对123456进行输出看看,

我们发现确实是反序存储了,

第二步对数据进行相加

结果也没有任何问题,那么如果是有前导0的两个数呢,例如0900和0000900呢

我们发现是有很多前导0的,但是在我们对结果数组进行处理之后(红色字体),去掉了前导0,并确定了结果一共有几位之后,我们就可以正确的输出结果

以下是AC代码

#include <iostream>
#include <string>
using namespace std;
#define int long longint a[210], b[210], c[210];
//a数组 第一个数
//b数组 第二个数
//c数组 结果数组signed  main() {string s1, s2; cin >> s1 >> s2;//将字符串反序存入数组中int aIndex = 1, bIndex = 1;int la = 1, lb = 1,lc;//各个数的实际位数for (int i = s1.size() - 1; i >= 0;i--) {a[aIndex++] = s1[i] - '0';//去前导0if (s1[i] != '0') la = aIndex - 1;//当前数不是0,更新最高位}for (int i = s2.size() - 1; i >= 0; i--) {b[bIndex++] = s2[i] - '0';if (s2[i] != '0') lb = bIndex - 1;}//将结果进行相加,存入c数组中lc = max(la, lb) + 1;//多加一位,预防最高位也产生进位for (int i = 1; i <= lc;i++) {c[i] += a[i] + b[i];//需是+= 因为如果该位进行相加计算之前,该位可能有进位存储c[i + 1] = c[i] / 10;c[i] %= 10;}//去除c中的前导0,确定lcwhile (!c[lc] && lc >= 1) lc--;for (int i = lc; i >= 1;i--) {cout << c[i];}return 0;
}

http://www.yayakq.cn/news/171297/

相关文章:

  • 网站页面设计考虑要素学做衣服网站知乎
  • 京津冀协同发展交通一体化规划怎么利用自媒体做网站优化
  • 江苏省城乡和建设厅网站首页沙朗做网站公司
  • 福州仓前网站建设临沂河东建设局网站
  • 狼雨seo网站海南彩票网站开发
  • 网站建设有云端吗网站优化过度的表现
  • 郑州专业网站制作南昌网站建设业务
  • 中山高端网站建设公司网站友情链接如何做
  • 网站功能模块图有没有可以做网站动图的软件
  • 企业网站新模式深圳有几个区分别叫什么
  • 注册网站会员违法电商网页设计与制作
  • 软件资源网站推荐深圳网站优化包年
  • 临沂企业网站建设公司电脑哪里做模板下载网站
  • 网站建设与维护教学课件网页设计图
  • 深圳华强北商城网站建设比较好的设计公司
  • 网站建设需要做什么准备工作网站开发团队要几个人
  • 中小企业网站建设平台照片视频制作软件
  • 设计公司网站设计报价明细表初中学历怎么提升大专学历
  • 做网站高手h5制作网页
  • 网站建设期中考试题建设公司网站费用多少
  • 女装网站功能的建设注册咨询服务公司有什么要求
  • 做网站和app多少费用百度竞价关键词优化
  • 网站运营工作内容wordpress 老萨
  • 分析网站外链分析工具wordpress手动上传图片
  • 如何给别人做网站什么是网站建设需求分析
  • 河南县公司网站建设虚拟服务器价格
  • 怎样用ps做网站首页图片线上销售平台都有哪些
  • 4.1网站建设的基本步骤如何给网站刷流量
  • 建筑人才招聘哪个网站最好深圳网络科技公司排名
  • 长沙网站整站优化郑州网站快速制作