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

算法基础之高精度总结

目录

高精度算法分类

高精度加减乘除的异同点

加和乘

相同点

减和除

相同点

不同点

处理前导0的方式


高精度算法分类

分类:加、减、乘、除

其中加减乘都适用于两个数都是高精度,除法因为除数是高精度的话不好用整除的方法,所以除法时被除数是高精度,除数是整型。

高精度加减乘除的异同点

加和乘

相同点
  1. 需要从低位到高位处理

    for(int i=stra.size()-1;i>=0;i--) c.push_back(stra[i]-'0');
    
  1. 加和乘处理向上进位

    int t=0;
    for(...){t += a[i];c.push_back(t % 10);t /= 10;
    }
    
  2. 可以使用通用模板

    加法

    c[i]+=a[i];
    c[i]+=b[i];
    //然后统一对c进行进位处理
    

乘法

   c[i+j] = a[i]*b[j];//然后统一对c进行进位处理

减和除

相同点
  1. 有可能当前位的数不够,需要借用上一位
不同点
  1. 减法需要从低位到高位处理,除法是从高位到低位处理

  2. 减法每一位都要处理上一位的借位情况,借位要么是0要么是1

    int t=0;
    //注意:a是从低位到高位排序
    for(int i=0;i<a.size();i++){t = a[i]-t;if(i<b.size()) t -= b[i];c.push_back(t % 10);//下一位的借位if(t <0) t=1;else t = 0;}
    
  1. 除法更多的应该是叫凑位,把高位的数*10和低位的数合并,每个位置不需要再单独加减

    int r=0; //余数
    //注意a是从高位到低位排序
    for(int i=0;i<a.size();i++){r = r * 10+a[i];c.push_back(r /b);r = r % b;
    }
    

4.除法处理前导0的情况需要翻转,把高位翻转到末尾

reverse(c.begin(),c.end());

处理前导0的方式

四种运算都一样,只是除法先要翻转数组

while(c.size()>1 && c.back()==0) c.pop_back();

相关文章:

算法基础之高精度总结

目录 高精度算法分类 高精度加减乘除的异同点 加和乘 相同点 减和除 相同点 不同点 处理前导0的方式 高精度算法分类 分类&#xff1a;加、减、乘、除 其中加减乘都适用于两个数都是高精度&#xff0c;除法因为除数是高精度的话不好用整除的方法&#xff0c;所以除法时…...

oracle TNS Listener 远程投毒漏洞修复

有个客户在等保测评过程&#xff0c;测评公司扫出一个关于oracle的漏洞如下&#xff1a; 客户是RAC环境11.2.0.4&#xff0c;在生产修复漏洞前我做了如下测试验证&#xff1a; 测试环境准备&#xff1a; RAC一套11.2.0.4 实例名dbserver [oraclehisdb1 ~]$ cat /etc/hosts …...

第二章:最新版零基础学习 PYTHON 教程(第一节 - Python 输入/输出–在 Python 中获取输入)

开发人员经常需要与用户交互,以获取数据或提供某种结果。如今,大多数程序都使用对话框来要求用户提供某种类型的输入。而Python为我们提供了两个内置函数来读取键盘输入。 目录 输入(提示) raw_input(提示) 输入函数在 Python 中的工作原理:...

react create-react-app v5 从零搭建项目

前言&#xff1a; 好久没用 create-react-app做项目了&#xff0c;这次为了个h5项目&#xff0c;就几个页面&#xff0c;决定自己搭建一个&#xff08;ps:mmp 好久没用&#xff0c;搭建的时候遇到一堆问题&#xff09;。 我之前都是使用 umi 。后台管理系统的项目 使用 antd-…...

2023软件测试八股文,涵盖所有面试题

Part1 1、你的测试职业发展是什么&#xff1f; 测试经验越多&#xff0c;测试能力越高。所以我的职业发展是需要时间积累的&#xff0c;一步步向着高级测试工程师奔去。而且我也有初步的职业规划&#xff0c;前3年积累测试经验&#xff0c;按如何做好测试工程师的要点去要求自…...

性能压力测试的定义及步骤是什么

在今天的数字化时代&#xff0c;软件系统的性能和稳定性对于企业的成功至关重要。为了确保软件在高负载和压力情况下的正常运行&#xff0c;性能压力测试成为了不可或缺的环节。本文将介绍性能压力测试的定义、步骤。 一、性能压力测试的定义和目标 性能压力测试是通过模拟实际…...

Selenium自动化中处理鼠标悬停并操作的方法

因为测试中遇到要鼠标悬停显示Tooltip&#xff0c;并操作tip上的内容&#xff0c;现记录如下。 方法一&#xff1a;通过鼠标链式操作 from selenium.webdriver.common.action_chains import ActionChains as ACac AC(self.driver)lst self.driver.find_element_by_xpath(//…...

python socket 编程实现猜数字

项目地址 https://gitee.com/lmk73444/learn_spring/tree/master/doc/1_x%E5%AD%A6%E4%B9%A0/002_py_socket python socket试验 mkdir /root/git_proj cd /root/git_proj# 首次 clone 项目 git clone https://gitee.com/lmk73444/learn_spring.git# 非首次 # 更新项目 cd /ro…...

20个提升效率的JS简写技巧,告别屎山!

JavaScript 中有很多简写技巧&#xff0c;可以缩短代码长度、减少冗余&#xff0c;并且提高代码的可读性和可维护性。本文将介绍 20 个提升效率的 JS 简写技巧&#xff0c;助你告别屎山&#xff0c;轻松编写优雅的代码&#xff01; 移除数组假值 可以使用 filter() 结合 Bool…...

Pikachu靶场——SSRF 服务端请求伪造

文章目录 1 SSRF 服务端请求伪造1.1 SSRF(curl)1.1.1 漏洞防御 1.2 SSRF(file_get_content)1.2.1 漏洞防御1.2.3 SSRF 防御 1 SSRF 服务端请求伪造 SSRF(Server-Side Request Forgery:服务器端请求伪造) 其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能&a…...

Android file

写文件——FileOutputStream openFileOutput 读文件——FileInputStream openFileInput openFileOutput写文件时当文件不存在&#xff0c;Android自动创建。 通过BufferedWriter直接写入字符串 public void writeFile(String inputText) {FileOutputStream outputStream nul…...

【计算机网络】计网常见面试题总结

目录 一、谈一谈对OSI七层模型和TCP/IP四层模型的理解&#xff1f; 二、谈一谈TCP协议的三次握手过程&#xff1f; 三、TCP协议为什么要三次握手&#xff1f;两次、四次不行吗&#xff1f; 四、谈一谈TCP协议的四次挥手过程&#xff1f; 五、什么是流量控制&#xff1f; …...

SpringMVC 学习(七)JSON

9. JSON 9.1 简介 JSON&#xff08;JavaScript Object Notation&#xff0c;JS 对象标记&#xff09;是一种轻量级数据交换格式&#xff0c;采用独立于编程语言的文本格式储存和表示数据&#xff0c;易于机器解析和生成&#xff0c;提升网络传输效率。 任何 JavaScript 支持…...

重学C++ | std::set 的原理

std::set 是C标准库中的容器之一&#xff0c;它基于红黑树实现。std::set 利用红黑树的特性来实现有序的插入、查找和删除操作&#xff0c;并且具有较好的平均和最坏情况下的时间复杂度。 当向 std::set 插入元素时&#xff0c;它会按照特定的比较函数&#xff08;bool less<…...

AnV-X6使用及总结

目录 1 简介2 安装3 基础概念3.1 画布Graph3.2 基类Cell3.3 节点Node3.4 边Edge 4 使用4.1 创建节点4.2 节点连线4.3 事件系统 5 总结 1 简介 AntV是一个数据可视化&#xff08;https://x6.antv.antgroup.com/&#xff09;的工具&#xff08;https://antv.vision/zh/ &#xf…...

Go 围炉札记

文章目录 一、安装二、文档三、使用 一、安装 VSCode 和 CLion 为 Go 开发配置Visual Studio Code | Microsoft Learn VScode下配置Go语言开发环境【2023最新】 基础篇&#xff1a;新手使用vs code新建go项目 vscode里安装Go插件和配置Go环境 GO 笔记 Golang 配置代理 golang…...

数据分析回头看2——重复值检查/元素替换/异常值筛选

0、前言&#xff1a; 这部分内容是对Pandas的回顾&#xff0c;同时也是对Pandas处理异常数据的一些技巧的总结&#xff0c;不一定全面&#xff0c;只是自己在数据处理当中遇到的问题进行的总结。 1、当数据中有重复行的时候需要检测重复行&#xff1a; 方法&#xff1a;使用p…...

什么是OSPF?为什么需要OSPF

【微|信|公|众|号&#xff1a;厦门微思网络】 【微思网络www.xmws.cn&#xff0c;成立于2002年&#xff0c;专业培训21年&#xff0c;思科、华为、红帽、ORACLE、VMware等厂商认证及考试&#xff0c;以及其他认证PMP、CISP、ITIL等】 什么是OSPF&#xff1f; 开放式最短路径优…...

轻量级的日志采集组件 Filebeat 讲解与实战操作

文章目录 一、概述二、Kafka 安装三、Filebeat 安装1&#xff09;下载 Filebeat2&#xff09;Filebeat 配置参数讲解3&#xff09;filebeat.prospectors 推送kafka完整配置1、filebeat.prospectors2、processors3、output.kafka 4&#xff09;filebeat.inputs 与 filebeat.pros…...

C# 委托和事件

C# 委托和事件 委托匿名方法事件 委托 当要把方法传送给其他方法时&#xff0c;需要使用委托。首先定义要使用的委托&#xff0c;对于委托&#xff0c;定义它就是告诉编译器这种类型的委托代表了哪种类型的方法&#xff0c;然后创建该委托的一个或多个实例。编译器在后台将创建…...

英飞凌Aurix2G TC3XX 中断路由与DMA联动实战解析

1. 中断与DMA联动的核心价值 第一次接触英飞凌Aurix2G TC3XX的中断路由功能时&#xff0c;我像发现新大陆一样兴奋。传统嵌入式开发中&#xff0c;ADC采样完成→CPU读取数据→存入内存的流程就像用勺子一勺一勺地运水&#xff0c;而中断触发DMA的机制则像接上了自来水管——数据…...

Logisim实战:从零到一构建MIPS32控制器核心模块

1. 初识MIPS32控制器设计 第一次接触MIPS32控制器设计时&#xff0c;我完全被那些密密麻麻的电路图和晦涩的指令格式搞懵了。记得当时在头歌平台上做实验&#xff0c;盯着Logisim界面整整半小时都不知道从何下手。后来才发现&#xff0c;理解控制器核心模块其实就像搭积木&…...

从零推导贝尔曼方程:强化学习中的价值函数与策略优化

1. 强化学习中的价值函数基础 想象你正在玩一个迷宫游戏&#xff0c;每走一步都会消耗体力&#xff0c;找到出口能获得大奖。这时候你会想&#xff1a;**"从当前位置出发&#xff0c;最终能获得多少奖励&#xff1f;"这个问题的答案就是价值函数&#xff08;Value Fu…...

GPEN图像修复新手入门:界面介绍与功能详解

GPEN图像修复新手入门&#xff1a;界面介绍与功能详解 1. 认识GPEN图像修复工具 你是否遇到过这样的情况&#xff1a;翻出老照片想分享给亲友&#xff0c;却发现照片已经泛黄、模糊甚至出现划痕&#xff1f;GPEN图像修复工具就是为解决这些问题而生的专业解决方案。这个由科哥…...

BERT文本分割-中文模型企业应用:内容平台文档结构化

BERT文本分割-中文模型企业应用&#xff1a;内容平台文档结构化 1. 引言&#xff1a;为什么需要文本分割技术 在日常工作中&#xff0c;我们经常会遇到这样的情况&#xff1a;会议记录、访谈稿、讲座内容等长篇口语文字材料缺乏段落结构&#xff0c;阅读起来十分困难。这些由…...

深度解析跨平台音频驱动:FlexASIO实战配置指南

深度解析跨平台音频驱动&#xff1a;FlexASIO实战配置指南 【免费下载链接】FlexASIO A flexible universal ASIO driver that uses the PortAudio sound I/O library. Supports WASAPI (shared and exclusive), KS, DirectSound and MME. 项目地址: https://gitcode.com/gh_…...

React篇——第一章 React的基础知识(上篇)

目录 1. React简介 1.1 什么是React 1.2 React的核心优势 组件化开发 虚拟DOM 丰富的生态系统 跨平台支持 1.3 React的市场地位 2. 开发环境搭建 2.1 使用create-react-app创建项目 2.2 其他创建React项目的方式 3. JSX基础 3.1 什么是JSX 3.2 JSX的优势 3.3 JS…...

脑电分析避坑指南:为什么你的PLV锁相值总等于1?希尔伯特变换与窄带滤波详解

脑电分析避坑指南&#xff1a;为什么你的PLV锁相值总等于1&#xff1f;希尔伯特变换与窄带滤波详解 在脑电信号分析领域&#xff0c;相位锁定值&#xff08;Phase Locking Value, PLV&#xff09;是衡量不同脑区神经振荡同步性的重要指标。但许多研究者在实际计算中常遇到一个令…...

5G NR物理层实战:如何利用TS 38.211优化无线资源管理

5G NR物理层实战&#xff1a;TS 38.211无线资源管理优化指南 在5G网络部署的深水区&#xff0c;无线资源管理&#xff08;RRM&#xff09;的精细化程度直接决定了网络性能天花板。作为3GPP物理层协议集的核心文档&#xff0c;TS 38.211规范中隐藏着诸多未被充分挖掘的优化密钥—…...

【权威认证|Pydantic v2+Starlette v1.12+FastAPI 2.0深度兼容报告】:为什么你的async generator在/ai/chat接口里静默失败?

第一章&#xff1a;FastAPI 2.0 异步 AI 流式响应 避坑指南FastAPI 2.0 对异步流式响应&#xff08;StreamingResponse&#xff09;的底层行为进行了关键调整&#xff0c;尤其在事件循环绑定、响应体缓冲策略及客户端断连检测方面与 1.x 版本存在显著差异。若沿用旧版流式生成器…...