一、高精度"+"算法

1.1 编写高精度"+",记住下面的内容,代码也就游刃有余了

(1) 首先我们要明白大整数是如何存储的?

(2) 其次存储完,考虑如何运算?

二、高精度"+"算法的核心

2.1 大整数存储

• 将大整数每一位是存到数组中,要保证高位在前,这个是考虑到进位,在高位上补一个数(如果在数组末尾补上这个数很容易,但如果在数组开头补上这个数需要把整个数组全部向后平移一位)。

2.2 加法运算的本质

• 实际就是满10进1的过程:A3A2A1A0+B2B1B0=C,考虑每个对应位Ai+Bi+t(1/0),t就是进位。

2.3 另外我们要知道

(1) A+B A与B小于数值(10^6)

(2) A-B A与B小于数值(10^6)

(3) A*a A要满足len(A)小于10^6,Note:这个是位数

(4) A/a A要满足len(A)小于10^6

三、高精度"+"的代码模板

// C = A + B, A >= 0, B >= 0
vector<int> add(vector<int> &A,vector<int> &B)//A与B是倒着表示完的数组
{
vector<int> C; int t=0;//进位,一开始是零
for(int i=0;i<A.size()||i<B.size();i++)
{
if(i<A.size()) t+=A[i];
if(i<B.size()) t+=B[i];//Ai+Bi+t
C.push_back(t%10);
t/=10;
}
if(t) C.push_back(1);
return C;
}
"""
string a, b;
vector<int> A,B;
cin>>a>>b;
for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');//数字字符减去'0'将其转化位整数数字
for(int i=b.size()-1;i>=0;i--) B.push_back(b[i]-'0');//大整数存储部分的代码
"""

#AcWing系列课程Level-2笔记——5.高精度“+”算法的更多相关文章

  1. #AcWing系列课程Level-2笔记——4. 浮点数二分算法

    浮点数二分算法 编写浮点数二分,记住下面的思路,代码也就游刃有余了! 1.首先找到数组的中间值,mid=(left+right)>>1,区间[left, right]被划分成[left, ...

  2. #AcWing系列课程Level-2笔记——3. 整数二分算法

    整数二分算法 编写整数二分,记住下面的思路,代码也就游刃有余了! 1.首先找到数组的中间值,mid=(left+right)>>1,区间[left, right]被划分成[left, mi ...

  3. #AcWing系列课程Level-2笔记——2. 归并排序算法

    归并排序算法 编写归并排序,记住下面的思路,代码也就游刃有余了! 1.首先确定数组的中间位置的分界点(下标),也就是mid=(left+right)>>1,分成left,right两段. ...

  4. #AcWing系列课程Level-2笔记——1. 快速排序算法

    快速排序算法(冒泡排序算法的升级版) 编写快速排序,记住下面的思路,代码也就游刃有余了! 1.首先确定分界点:分界点设为x,可以取q[left],q[(left+right)>>2],q[ ...

  5. 公共语言运行库(CLR)开发系列课程(1):Pinvoke 简介 学习笔记

    前言 让拖管代码对象和非托管对象协同工作的过程称为互用性(Interoperability),通常简称为 Interop. P/Invoke在托管代码与非托管代码交互式时产生一个事务(Transiti ...

  6. ASP.NET MVC框架开发系列课程 (webcast视频下载)

    课程讲师: 赵劼 MSDN特邀讲师 赵劼(网名“老赵”.英文名“Jeffrey Zhao”,技术博客为http://jeffreyzhao.cnblogs.com),微软最有价值专家(ASP.NET ...

  7. MSDN Webcast 跟我一起从零开始学WCF系列课程

    系列课程 >跟我一起从零开始学WCF系列课程   跟我一起从零开始学WCF系列课程(1):WCF概述 (Level 200)   讲 师:徐长龙    课程简介:从 本堂课开始我们将开启一个新的 ...

  8. SAP HANA企业级培训系列课程<第一部分>

    No. 课程 备注 1 HANA概述 HANA 特点 2 HANA Server & Studio & Client 认识HANA Server \Client\ Studio, 熟悉 ...

  9. solr与.net系列课程(九)solr5.1的配置

    solr与.net系列课程(九)solr5.1的配置 最近一些园友来咨询solr5.1的配置方式,然后我就去官网下载了个最新版本的solr,发现solr5.0以后solr的下载包里的内容发生的变化,移 ...

随机推荐

  1. J - Association of Cats and Magical Lights Kattis - magicallights (树状数组+dfs序)

    Rar the Cat((™)) is the founder of ACM (Association of Cats and Magical Lights). This is the story o ...

  2. AJAX数据传输(原生js)

    原生ajax写法 <!DOCTYPE html> <html lang=""> <head> <meta charset="UT ...

  3. 导出Wireless组中的成员

    get-adgroupmember -Identity wireless  |export-csv -path C:\Group.csv -Encoding UTF8

  4. python语法基础-基础-运算符

    ############################################ Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员 ...

  5. python学习笔记(11)文件操作

    一.读文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直 ...

  6. centos 7 下iptables参数详解

    在红帽RHEL7系统中firewalld服务取代了iptables服务,如果我们不想用或者不习惯使用firewalld服务,请看下面的操作: iptables命令中则常见的控制类型有: ACCEPT: ...

  7. derby数据库的了解及使用

    derby数据库 一.简介 Derby 易于管理.当嵌入到客户机应用程序中时, Derby 系统不需要任何管理干预. Derby 是可嵌入的.应用程序可以将数据库管理系统( Database Mana ...

  8. abator中可生成iBatis的代码

    1.insert 不论你设置多少个字段,统一都要添加一遍 比如:insert into tb_user (id,name,age,password) value (null,”张三”,null,nul ...

  9. CSS--沃顿商学院网页布局

    源代码: <head> 右键CSS样式--附加样式表 </head> <body> <div id="dd"> <div id ...

  10. 跟随大神实现简单的Vue框架

    自己用vue也不久了,学习之初就看过vue实现的原理,当时看也是迷迷糊糊,能说出来最基本的,但是感觉还是理解的不深入,最近找到了之前收藏的文章,跟着大神一步步敲了一下简易的实现,算是又加深了理解. 原 ...