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

洛谷 P1480 A/B Problem(高精度详解)c++

题目链接:P1480 A/B Problem - 洛谷

1.题目分析

1:说明这里是高精度除以低精度的形式,为什么不是高精度除以高精度的形式,是因为它很少见,它的模拟方式是用高精度减法来做的,并不能用小学列竖式的方法模拟出来,但是如果用高精度除低精度的话,是可以用小学的方式模拟出来的,并且是有可能遇到,所以我们这里只了解高精度除以低精度就可以,至于高精度除高精度,大家感兴趣可以在网上搜一下

2.算法原理

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

  1. 用字符串读入第一个数,拆分每一位,逆序放在数组中
  2. 利用数组,模拟列竖式除法的过程

模拟一下小学列竖式除法过程,比如1234除4最高位是1,1/45是除不尽的,因此商0,0×45=0,1-0=1,拿余数1和后面的2拼接起来,如何落实到代码,可以创建一个变量t来记录余数1,再让t×10+2就变成12了,接下来用12/45的时候依旧是商0余12,把它拼接成123的步骤和刚刚一样,让12×10+3变成123,接下来拿123/45,2×45=90,123-90=33,如何拿到商2和余数90呢?当前的t=123,除45就可以拿到2,模45就可以拿到33,所以计算过程就是一直在重复t乘10加当前数、除除数、模除数、的步骤,继续向后进行预算就可以了

有可能余数会超过int范围,因为b的范围是是1e9级别的数,让它乘10会变成1e10,会超过整型范围,所以使用long long来存储

代码:

#include <iostream>
using namespace std;const int N = 1e6 + 10;
typedef long long LL;int a[N], b, c[N]; //被除数、除数、结果
int la, lc;// 高精度除法的模板 - c = a / b (高精度 / 低精度)
void sub(int c[], int a[], int b)
{LL t = 0; // 标记每次除完之后的余数//除的时候是拿最高位试除的for (int i = la - 1; i >= 0; i--){// 计算当前的被除数t = t * 10 + a[i]; //拼接被除数 12*10+3=123c[i] = t / b;      //拿商    123/45=2t %= b;            //取余数  123%45=33}// 处理前导 0while (lc > 1 && c[lc - 1] == 0) lc--;
}int main()
{string x; cin >> x >> b;la = x.size();for (int i = 0; i < la; i++) a[la - 1 - i] = x[i] - '0';// 模拟除法的过程lc = la;sub(c, a, b); // c = a / bfor (int i = lc - 1; i >= 0; i--) cout << c[i];return 0;
}

相关文章:

洛谷 P1480 A/B Problem(高精度详解)c++

题目链接&#xff1a;P1480 A/B Problem - 洛谷 1.题目分析 1&#xff1a;说明这里是高精度除以低精度的形式&#xff0c;为什么不是高精度除以高精度的形式&#xff0c;是因为它很少见&#xff0c;它的模拟方式是用高精度减法来做的&#xff0c;并不能用小学列竖式的方法模拟…...

JAVA入门——网络编程简介

自己学习时的笔记&#xff0c;可能有点水&#xff08; 以后可能还会补充&#xff08;大概率不会&#xff09; 一、基本概念 网络编程三要素&#xff1a; IP 设备在网络中的唯一标识 端口号 应用软件在设备中的唯一标识两个字节表示的整数&#xff0c;0~1023用于知名的网络…...

Ubuntu 合上屏幕 不待机 设置

有时候需要Ubuntu的机器合上屏幕的时候也能正常工作&#xff0c;而不是处于待机状态。 需要进行配置文件的设置&#xff0c;并重启即可。 1. 修改配置文件 /etc/systemd/logind.conf sudo vi /etc/systemd/logind.conf 然后输入i&#xff0c;进入插入状态&#xff0c;修改如…...

捣鼓180天,我写了一个相册小程序

&#x1f64b;为什么要做土著相册这样一个产品&#xff1f; ➡️在高压工作之余&#xff0c;我喜欢浏览B站上的熊猫幼崽视频来放松心情。有天在家族群里看到了大嫂分享的侄女卖萌照片&#xff0c;同样感到非常解压。于是开始翻阅过去的聊天记录&#xff0c;却发现部分图片和视…...

短分享-Flink图构建

一、背景 通过简单的书写map、union、keyby等代码&#xff0c;Flink便能构建起一个庞大的分布式计算任务&#xff0c;Flink如何实现的这个酷炫功能呢&#xff1f;我们本次分享Flink做的第一步&#xff0c;将代码解析构建成图 源码基于Flink 2.10&#xff0c;书籍参考《Flink核…...

【监督学习】支持向量机步骤及matlab实现

支持向量机 &#xff08;四&#xff09;支持向量机1.算法步骤2. MATLAB 实现参考资料 &#xff08;四&#xff09;支持向量机 支持向量机&#xff08;Support Vector Machine, SVM&#xff09;是一种用于分类、回归分析以及异常检测的监督学习模型。SVM特别擅长处理高维空间的…...

机器学习-随机森林解析

目录 一、.随机森林的思想 二、随机森林构建步骤 1.自助采样 2.特征随机选择 3构建决策树 4.集成预测 三. 随机森林的关键优势 ​**(1) 减少过拟合** ​**(2) 高效并行化** ​**(3) 特征重要性评估** ​**(4) 耐抗噪声** 四. 随机森林的优缺点 ​优点 ​缺点 五.…...

Javaweb后端spring事务管理 事务四大特性ACID

2步操作&#xff0c;只能同时成功&#xff0c;同时失败&#xff0c;要放在一个事务中&#xff0c;最后提交事务或者回滚事务 事务控制 事务管理进阶 事务的注解 这是所有异常都会回滚 事务注解 事务的传播行为 四大特性...

在Spring Boot + MyBatis中优雅处理多表数据清洗:基于XML的配置化方案

问题背景 在实际业务中&#xff0c;我们常会遇到数据冗余问题。例如&#xff0c;一个公司表&#xff08;sys_company&#xff09;中存在多条相同公司名的记录&#xff0c;但只有一条有效&#xff08;del_flag0&#xff09;&#xff0c;其余需要删除。删除前需将关联表&#xf…...

【无标题】四色拓扑模型与宇宙历史重构的猜想框架

### 四色拓扑模型与宇宙历史重构的猜想框架 --- #### **一、理论基础&#xff1a;四色拓扑与时空全息原理的融合** 1. **宇宙背景信息的拓扑编码** - **大尺度结构网络**&#xff1a;将星系团映射为四色顶点&#xff0c;纤维状暗物质结构作为边&#xff0c;构建宇宙尺度…...

[特殊字符] Django 常用命令

&#x1f680; Django 常用命令大全&#xff1a;从开发到部署 Django 提供了许多实用的命令&#xff0c;可以用于 数据库管理、调试、测试、用户管理、运行服务器、部署 等。 本教程将详细介绍 Django 开发中最常用的命令&#xff0c;并提供 示例&#xff0c;帮助你更高…...

mysql中如何保证没有幻读发生

在 MySQL 中&#xff0c;幻读&#xff08;Phantom Read&#xff09;是指在一个事务中&#xff0c;两次相同的查询返回了不同的结果集&#xff0c;通常是由于其他事务插入或删除了符合查询条件的数据。为了保证没有幻读&#xff0c;MySQL 主要通过 事务隔离级别 和 锁机制 来实现…...

Golang实践录:go发布版本信息收集

go发布版本信息收集。 背景 本文从官方、网络资料收罗有关go的发布历史概况。主要目的是能快速了解golang不同版本的变更。鉴于官方资料为英文&#xff0c;为方便阅读&#xff0c;使用工具翻译成中文&#xff0c;重要特性参考其它资料补充/修改。由于发布版本内容较多&#xf…...

字节跳动AI原生编程工具Trae和百度“三大开发神器”AgentBuilder、AppBuilder、ModelBuilder的区别是?

字节跳动AI编程工具Trae与百度"三大开发神器"&#xff08;AgentBuilder、AppBuilder、ModelBuilder&#xff09;在定位、功能架构和技术路线上存在显著差异&#xff0c;具体区别如下&#xff1a; 一、核心定位差异 Trae&#xff1a;AI原生集成开发环境&#xff08;AI…...

【UCB CS 61B SP24】Lecture 21: Data Structures 5: Priority Queues and Heaps 学习笔记

本文介绍了优先队列与堆&#xff0c;分析了最小堆的插入与删除过程&#xff0c;并用 Java 实现了一个通用类型的最小堆。 1. 优先队列 1.1 介绍 优先队列是一种抽象数据类型&#xff0c;其元素按照优先级顺序被处理。不同于普通队列的先进先出&#xff08;FIFO&#xff09;&…...

mapbox高阶,结合threejs(threebox)添加三维球体

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️threebox Sphere静态对象二、🍀使用t…...

QEMU源码全解析 —— 块设备虚拟化(1)

本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 详解全虚拟半虚拟及硬件辅助虚拟化技术-百度开发者中心 特此致谢! 序言 本专栏之前的系列文章,讲了很多QEMU/KVM相关知识,其中一部分内容是设备的虚拟…...

IDEA中Git版本回退终极指南:Reset与Revert双方案详解

目录 前言一、版本回退前置知识二、Reset方案&#xff1a;整体改写历史1、IDEA图形化操作&#xff08;推荐&#xff09;1.1、查看提交历史1.2、选择目标版本1.3、选择回退模式1.3.1、Soft&#xff08;推荐&#xff09;1.3.2、Mixed1.3.3、Hard&#xff08;慎用&#xff09;1.3.…...

Flutter 学习之旅 之 flutter 使用 flutter_screenutil 简单进行屏幕适配

Flutter 学习之旅 之 flutter 使用 flutter_screenutil 简单进行屏幕适配 目录 Flutter 学习之旅 之 flutter 使用 flutter_screenutil 简单进行屏幕适配 一、简单介绍 二、简单介绍 flutter_screenutil 三、安装 carousel_slider 四、简单案例实现 五、关键代码 六、补…...

实验一:在Windows 10/11下配置和管理TCP/IP

目录 1.【实训目标】 2.【实训环境】 3.【实训内容】 4.【实训步骤】 1.【实训目标】 1.了解网络基本配置中包含的协议、服务、客户端。 2.了解Windows支持的网络协议及参数设置方法。 3.掌握TCP/IP协议的配置。 2.【实训环境】 硬件环境&#xff1a;每人一台计算机&a…...

探索kedro:数据科学项目的高效管理框架

探索kedro&#xff1a;数据科学项目的高效管理框架 【免费下载链接】kedro Kedro is a toolbox for production-ready data science. It uses software engineering best practices to help you create data engineering and data science pipelines that are reproducible, ma…...

无需代码!用Qwen2.5-VL-7B-Instruct实现智能图片分析与物体检测

无需代码&#xff01;用Qwen2.5-VL-7B-Instruct实现智能图片分析与物体检测 你是不是也遇到过这样的场景&#xff1a;手头有一堆图片&#xff0c;需要快速提取里面的文字、识别物体、或者描述图片内容&#xff1f;传统方法要么需要写代码调用API&#xff0c;要么得安装复杂的软…...

避开这3个坑!STM32 CubeMX配置QSPI读写MX25L25645G实战复盘

STM32 CubeMX配置QSPI驱动MX25L25645G的三大实战陷阱与解决方案 在嵌入式系统开发中&#xff0c;外部Flash存储器的使用几乎成为标配&#xff0c;而MX25L25645G凭借其256Mb的大容量和QSPI接口的高速特性&#xff0c;成为许多STM32项目的首选。但当你真正开始用CubeMX配置QSPI接…...

从仿真到真机:基于ROS2 Control和MoveIt2的Panda机械臂运动控制实战(Humble环境)

从仿真到真机&#xff1a;基于ROS2 Control和MoveIt2的Panda机械臂运动控制实战&#xff08;Humble环境&#xff09; 在工业自动化和科研领域&#xff0c;机械臂的运动控制正经历着从传统专用控制器向开源软件栈的转型。ROS2生态系统中的两大支柱——ROS2 Control和MoveIt2&…...

Comsol 锂枝晶模型 “五合一”:探索枝晶生长的多元奥秘

comsol 锂枝晶模型 五合一 单枝晶定向生长、多枝晶定向生长、多枝晶 随机生长只 无序生长随机形核以及雪花枝晶&#xff0c;包含相场、浓度场和电场三种物理场在锂电领域&#xff0c;锂枝晶的生长一直是研究的重点&#xff0c;因为它严重影响电池的安全性与性能。今天咱就来唠唠…...

Python 序列化实战指南:性能开销剖析、格式取舍与API/RPC协议优化

Python 序列化实战指南&#xff1a;性能开销剖析、格式取舍与API/RPC协议优化 &#x1f4cc; 为什么序列化开销值得每位Python开发者关注&#xff1f; Python作为“胶水语言”&#xff0c;从1991年诞生至今&#xff0c;已成为Web开发、数据科学、AI和自动化领域的绝对主力。其…...

SRS流媒体服务器实战:手把手教你配置RTMP转WebRTC(含AAC转Opus避坑指南)

SRS流媒体服务器深度解析&#xff1a;RTMP转WebRTC全链路实战与音频转码优化 1. 低延迟直播技术演进与架构选型 在实时互动场景爆发的今天&#xff0c;传统RTMP协议的高延迟问题日益凸显。根据WebRTC标准委员会的测试数据&#xff0c;基于UDP的WebRTC传输链路能够将端到端延迟控…...

NitroShare高效使用指南:从安装到定制的全流程解析

NitroShare高效使用指南&#xff1a;从安装到定制的全流程解析 【免费下载链接】nitroshare-desktop Network file transfer application for Windows, OS X, & Linux 项目地址: https://gitcode.com/gh_mirrors/ni/nitroshare-desktop NitroShare是一款跨Windows、…...

BiliBili-UWP:打造Windows平台高效B站观影体验深度指南

BiliBili-UWP&#xff1a;打造Windows平台高效B站观影体验深度指南 【免费下载链接】BiliBili-UWP BiliBili的UWP客户端&#xff0c;当然&#xff0c;是第三方的了 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBili-UWP BiliBili-UWP作为一款专为Windows平台设计的…...

突破3大资源壁垒:UABEA工具实战指南

突破3大资源壁垒&#xff1a;UABEA工具实战指南 【免费下载链接】UABEA UABEA: 这是一个用于新版本Unity的C# Asset Bundle Extractor&#xff08;资源包提取器&#xff09;&#xff0c;用于提取游戏中的资源。 项目地址: https://gitcode.com/gh_mirrors/ua/UABEA 当你…...