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

算法刷题笔记 高精度除法(C++实现)

文章目录

    • 题目描述
    • 求解思路
    • 实现代码

题目描述

  • 给定两个非负整数(不含前导0)AB,请你计算 A/B 的商和余数。

输入格式

  • 共两行,第一行包含整数A,第二行包含整数B。

输出格式

  • 共两行,第一行输出所求的商,第二行输出所求余数。

数据范围

  • 1 ≤ A的长度 ≤ 100000
  • 1 ≤ B ≤ 10000
  • B一定不为 0

求解思路

本题的求解思路仍然是通过编程模拟除法的竖式计算,但是和加减乘法又不一样的地方。由于除法竖式计算中,是从被除数的最高位开始,因此,存放被除数的数组应该用小端存放高位,大端存放低位。最后,和之前的 高精度减法 和 高精度乘法 两道算法题类似,最后的结果需要去除前导零。

实现代码

#include <iostream>
#include <vector>
using namespace std;vector<int> div(const vector<int>& a, const int& b)
{vector<int> result;int jinwei(0);for(int i(0); i < a.size(); ++i){int beichushu = a[i] + 10 * jinwei;result.push_back(beichushu / b);jinwei = beichushu % b;}result.push_back(jinwei);return result;
}int main(void)
{//变量定义部分string a;int b;vector<int> a_vector;//变量输入部分cin >> a >> b;for(int i(0); i < a.length(); ++i) a_vector.push_back(a[i] - '0');//除法运算并去除前导零部分vector<int> result = div(a_vector, b);while(result[0] == 0 && result.size() > 2) result.erase(result.begin());//变量输出部分for(int i(0); i < result.size() - 1; ++i) cout << result[i];cout << endl << result[result.size() - 1];return 0;
}

注意事项

  • 本题中要求同时输出商和余数,但是C++中只能一次返回一个变量,所以本题中将返回向量的最后一个元素设置为余数。实际使用过程中,可以为div函数传入一个新的整数引用类型的参数r,这样,在div函数中修改r,则主函数中的r的值也会随之变化,从而解决了一次只能返回一个值的问题。

相关文章:

算法刷题笔记 高精度除法(C++实现)

文章目录 题目描述求解思路实现代码 题目描述 给定两个非负整数&#xff08;不含前导0&#xff09;A&#xff0c;B&#xff0c;请你计算 A/B 的商和余数。 输入格式 共两行&#xff0c;第一行包含整数A&#xff0c;第二行包含整数B。 输出格式 共两行&#xff0c;第一行输…...

按月爬取天气数据可视化展示

从天气网分析,可以查询每个月的天气情况,这里按照url规则,传入年月,获取数据,最后进行可视化展示,最终效果: 下面是获取过程: 第一步: import requestsdef get_weather(month):url = f"https://lishi.tianqi.com/nanning/{month}.html"response = reques…...

VMware安装Ubuntu系统(超详细)

一.Ubuntu官网下载镜像 Ubuntu官网&#xff1a;Enterprise Open Source and Linux | Ubuntu 二.安装Ubuntu系统 选择文件->创建虚拟机新建虚拟机&#xff08;ControlN&#xff09;&#xff0c;这里直接选择典型即可 选择稍后安装系统 选择linux Ubuntu 64位 填写虚拟机名称…...

数据清洗操作及众所周知【数据分析】

各位大佬好 &#xff0c;这里是阿川的博客 &#xff0c; 祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 前面的博客 数据分析—技术栈和开发环境搭建 …...

炫酷gdb

在VS里面调试很方便对吧&#xff1f;&#xff08;F5直接调试&#xff0c;F10逐过程调试--不进函数&#xff0c;F11逐语句调试--进函数&#xff0c;F9创建断点&#xff09;&#xff0c;那在Linux中怎么调试呢&#xff1f; 我们需要用到一个工具&#xff1a;gdb 我们知道VS中程…...

windows 7 10 11快捷键到启动页面

1.快速打开用户启动文件夹 shell:startup 方式2&#xff1a;快速打开系统启动文件夹 shell:Common Startup shell:Common Startup...

[处理器芯片]-6 超标量CPU实现之浮点运算

1 浮点运算单元FPU 超标量CPU中的浮点运算单元是专门处理浮点数运算的关键组件。浮点运算单元的设计涉及多个复杂的子模块和技术&#xff0c;以保证高效、准确地执行浮点数的加减法、乘法、除法、平方根等操作。 1&#xff09;浮点数术语 浮点数通常采用IEEE 754标准表示&…...

又有人叫嚣:AI取代前端,来给你几张图,看能不能憋死AI。

总有自媒体人&#xff0c;为了些许流量&#xff0c;在大放厥词&#xff0c;说截个图给AI&#xff0c;AI就能输出前端代码&#xff0c;这是啥都敢说&#xff0c;吹牛不上税。 我来给你几张贝格前端工场日常接的大数据项目相关的图&#xff0c;你让AI生成代码&#xff0c;取代前…...

ISCC2024个人挑战赛WP-WEB

&#xff08;非官方解&#xff0c;以下内容均互联网收集的信息和个人思路&#xff0c;仅供学习参考&#xff09; 还没想好名字的塔防游戏 GET /world.js HTTP/1.1 Host: 101.200.138.180:17345 Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,i…...

Android 使用 adb 列出设备上所有危险权限

步骤1&#xff1a;确定 Android SDK 位置 打开 Android Studio 的设置&#xff0c;并来到 Languages & Frameworks › Android SDK 处&#xff1a; 这里可以看到 Android SDK 目录的位置&#xff1a; 例如&#xff1a;/Users/admin/Library/Android/sdk。 复制这个路径&am…...

Spring AOP源码分析

#### AOP&#xff08;面向切面编程&#xff09;作用及其优势 作用&#xff1a;在程序运行期间&#xff0c;在不修改源码的情况下对方法进行功能增强&#xff08;通知&#xff09; 优势&#xff1a;减少重复代码&#xff0c;提高代码复用性&#xff0c;提高代码可维护性&#xf…...

[LLM]从GPT-4o原理到下一代人机交互技术

一 定义 GPT-4o作为OpenAI推出的一款多模态大型语言模型&#xff0c;代表了这一交互技术的重要发展方向。 GPT-4o是OpenAI推出的最新旗舰级人工智能模型&#xff0c;它是GPT系列的一个重要升级&#xff0c;其中的"o"代表"Omni"&#xff0c;中文意思是“全…...

【Spring】AOP——通知(Advice)

1、通知&#xff08;Advice&#xff09; 1.1简介 在AOP中&#xff0c;通知&#xff08;Advice&#xff09;是切面&#xff08;Aspect&#xff09;中的一部分&#xff0c;用于定义在连接点&#xff08;Joinpoint&#xff09;处应该执行的操作。通知类型可以在AOP框架中配置和使…...

python中的一些基础概念

在python中整型数据可以和浮点型数据相加&#xff0c;在python中字符串数据可以进行相加&#xff0c; 在python中整型数据可以和布尔类型进行算术运算。此时True当做1&#xff0c;False当做0但是这样的操作是没有意义的&#xff0c; python中只有字符串类型没有字符类型&…...

8.Redis之hash类型

1.hash类型的基本介绍 哈希表[之前学过的所有数据结构中,最最重要的] 1.日常开发中,出场频率非常高. 2.面试中,非常重要的考点, Redis 自身已经是键值对结构了Redis 自身的键值对就是通过 哈希 的方式来组织的 把 key 这一层组织完成之后, 到了 value 这一层~~ value 的其中…...

Edge浏览器

微软 Edge 是由微软开发的网络浏览器&#xff0c;它是 Windows 10 操作系统的默认浏览器&#xff0c;取代了之前的 Internet Explorer。Edge 浏览器在设计上注重性能、安全性和易用性&#xff0c;同时也提供了许多实用的功能&#xff0c;如内置笔记、阅读视图、集成的语音助手等…...

springboot项目中图片上传之后需要重启工程才能看到图片?

需求背景 最近在做一个用户自定义上传头像的小需求&#xff0c;用户上传头像然后需要立马回显。 需求是很常见的、正当的需求。如果不使用到对象存储这类服务&#xff0c;我们把用户头像的图片文件仅存在本地就可以了。我们在开发的过程中为了工程管理方便通常下意识会将图片…...

打卡信奥刷题(20)用Scratch图形化工具信奥B3756 [信息与未来 2021] 幸运数字

本题的基础是进制转换&#xff0c;关于2进制转换可以参考打卡信奥刷题&#xff08;19&#xff09;用Scratch图形化工具信奥B3972 [语言月赛 202405] 二进制 题解 知道了2进制&#xff0c;来实现5进制、7进制、9进制是一样的。 [信息与未来 2021] 幸运数字 题目描述 如果⼀个…...

Stream流模式通信及示例

Stream流模式通信是指在计算机网络中&#xff0c;数据作为连续的字节流传输而不是独立的数据包。它是一种面向连接的通信方式&#xff0c;常见于TCP&#xff08;传输控制协议&#xff09;。以下是Stream流模式通信的基本概念和一个简单的示例。 基本概念 面向连接&#xff1…...

从0开始学统计-t分布

1.t分布是如何被发现的&#xff1f; t分布最早由英国统计学家威廉塞弗顿&#xff08;William Sealy Gosset&#xff09;在1908年提出。塞弗顿是爱尔兰的一名酿酒厂的统计学家&#xff0c;他的工作需要对小样本数据进行分析。由于当时样本量较小&#xff08;通常小于30&#xf…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...

【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统

Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...

[特殊字符] 手撸 Redis 互斥锁那些坑

&#x1f4d6; 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作&#xff0c;想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁&#xff0c;也顺便跟 Redisson 的 RLock 机制对比了下&#xff0c;记录一波&#xff0c;别踩我踩过…...

大数据治理的常见方式

大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法&#xff0c;以下是几种常见的治理方式&#xff1a; 1. 数据质量管理 核心方法&#xff1a; 数据校验&#xff1a;建立数据校验规则&#xff08;格式、范围、一致性等&#xff09;数据清洗&…...