#####例题二:高精度练习(没错,高精度也是模拟呀)

此处我就不给题目描述了,反正就是unsigned long long也存不下的数字搞运算,除法和取模比较困难,这里只讲加减乘。

题目评测的话可以参照codevs高精度练习系列。

【分析】

高精度的核心实际上就是模拟人列竖式手算的过程。但是细节的处理才是写好高精度的关键。

首先就是数字的存储:既然没办法存在变量里面,我们可以用一个字符串来存储,毕竟我们看到一个超长的数字也是一位一位的读下来对吧。那么直接string,然后cin好了~

然后是运算:拿加法为例,这就涉及到一个问题了:我们正常写竖式是图中这样的:

但是,我们的string直接读入的数字会变成下面这样:

显然这样就出现问题了。那么我们要想做到右对齐可以反过来存数,最后输出再反一遍(正过来)就好了~于是成了下面的情况:

那么存储的问题才算是解决了,下面是真的运算了:

加法很简单,只需要相应位置的数字相加然后存到新的string里面算作结果就好了。不过细节在于进位。其实这个也很简单,每一位%10的结果作为这一位的数,除以10的结果加到下一位上就好了。具体细节实现可以看看下面的代码。

乘法:

这个就是我们做乘法的一个竖式了,观察一下不难发现第一个串的 i 位数字与第二个串的 j 位数字相乘的结果数字应该加在答案的 i + j - 1 位上这个规律也很好证明,记住记好了。然后再处理一下进位问题高精乘是没什么问题了。

转载于:https://www.cnblogs.com/Skyvot/p/5758588.html

模拟,贪心,枚举(二)相关推荐

  1. 【CodeForces Round #550】A-F | 模拟 | 贪心 | 高精 | BFS | 二分图 | E

    今年怎么没有愚人节比赛了   CF你看看人家洛谷   唉鸭原来那边还没到愚人节呢- 愚人节比赛还是有的,在今晚 qwq [CodeForces 1144   A-F] Tags:模拟 贪心 BFS 高 ...

  2. 1739 - 放置盒子 - 模拟 - 贪心 - 数学

    欢迎关注更多精彩 关注我,学习常用算法与数据结构,一题多解,降维打击. 文章目录 题目描述 题目描述 题目剖析&信息挖掘 解题思路 方法一 模拟+贪心+数学 分析 思路 注意 知识点 复杂度 ...

  3. 【专升本计算机】2021年甘肃省专升本计算机全真模拟试题(二)

    [专升本计算机]2021年甘肃省专升本计算机全真模拟试题(一) [专升本计算机]2021年甘肃省专升本计算机全真模拟试题(二) [专升本计算机]2021年甘肃省专升本计算机全真模拟试题(三) [专升本 ...

  4. 模拟数据解决二分类问题项目描述

     模拟数据解决二分类问题项目描述: 已经发布公众号: 利用Python的numpy模块下的random类生成模拟数据集,然后对这些数据进行交叉熵最小化计算找到最合适的参数,也就完成了整个模型的调整 ...

  5. 模拟模拟交易系统(二)——系统设计

    模拟模拟交易系统(二)--系统设计 本文设计的是一款模拟股票交易系统,它是互联网金融领域的产品.其主要研究基于Windows平台MFC库的设计与实现,主要包含了股票交易.统计.查询.清算等系统功能. ...

  6. 雷达回波模拟仿真(二):相参积累(以LFM为例)matlab

    雷达回波模拟仿真(二):相参积累(以LFM为例)matlab 相参积累 相参积累代码 相参积累 因为雷达单个脉冲的回波能量有限,通常不采用单个接收脉冲来进行目标的检测判决.在判决之前,先对一个波位的多 ...

  7. 【Proteus】51单片机交通灯信号模拟仿真示例二

    [Proteus]51单片机交通灯信号模拟仿真示例二 Proteus仿真效果 相关篇<[Proteus]51单片机交通灯信号模拟仿真示例一> 程序代码 /*---------------- ...

  8. Java 模拟58登录(二) 实现

    Java 模拟58登录(二) 实现 标签(空格分隔): Java 实习期间需要做一个模拟58登录然后爬取简历,之前已经写了一篇分析,现在具体实现过程 有关过程的分析,可以参考我的另一篇博客 Java ...

  9. 使用 canvas 模拟微信生成二维码名片

    需求说明 模拟微信的二维码名片的功能 接口获取到用户的二维码,前端将二维码,背景图,用户头像(圆形),用户姓名等信息结合生成一张图片 示例 等比例创建画布 获取背景图,监听图片的 onload 事件 ...

  10. 梦幻模拟战更新服务器正在维护,《梦幻模拟战》二周年版本更新维护公告

    欢迎来到梦幻模拟战WIKI-您可以通过百度搜索"梦幻模拟战WIKI"到达!如果是第一次来,按"Ctrl+D"可以收藏随时查看更新~.如果觉得WIKI好玩的话,记 ...

最新文章

  1. android功能网格布局,Visual Studio 开发安卓之布局-网格布局(GridLayout)
  2. 比“敲低基因”更可怕的是这些项目,看完青少年科技创新大赛完整名单,读研的我自闭了...
  3. Spring boot注册三大组件
  4. GDCM:gdcm::Validate的测试程序
  5. python开启多个端口服务_python bottle使用多个端口(多个进程)提高并发
  6. python sqlite3事务_python使用上下文管理器实现sqlite3事务机制
  7. window覆盖导航栏
  8. 【Matplotlib】【Python】如何使用matplotlib颜色映射
  9. 数组中其余的排除_6.8 C++字符数组 | 输出a、b、c
  10. 自定义Repeater数据控件的一个页面显示效果
  11. 稳压电源的设计与制作_直流稳压电源设计
  12. Solr 4.10.3 后台管理页面介绍
  13. Oracle Database Documentation
  14. 易语言解析html实例,易语言总使用正则表达式实例解析
  15. lldp协议代码阅读_LLDP(lldp协议平时开启还是关闭)
  16. mysql卸载删除注册表
  17. PPT中含图片太大,需压缩
  18. 时间分割算法,Java将一段时间按星期来分割
  19. 动漫人物手绘线稿图,非常适合初学者临摹
  20. 不定积分公式 定积分公式

热门文章

  1. vnpy学习_04回测评价指标的缺陷
  2. 一张图看懂VnTrader的数据流
  3. 一文讲透数据库,以后别说你不懂数据库
  4. 商业智能让营销更精确
  5. php windows svn,windows下安装svnmanager
  6. java中mouselistener的用法_关于MouseListener接口的简单使用
  7. dajngo电商数据库设计图,通用版本
  8. centos7系统卸载Visual Studio Code
  9. java离职证明模板_离职证明的一个小细节,差点让我「背调」over
  10. 电脑投屏软件哪个好_无线投屏器和软件投屏的区别是什么,哪个更好用?