算法思考:非0整数除法

news/2025/2/20 3:30:00/

这是一道很简单的问题,但是我们可以有更多的思考

1.如何提升效率?

除法,很明显就是循环嘛,那么如何进一步提升效率?就是跳过多余的循环步骤比如15/2,原先是1+1+1+1+1+1+1再余1,现在尽量每次除2的最大倍数,将结果变为4+3+1,将时间由n方减为logn

2.坑点:负数可以到-2的31次方,正数只能到2的31次方-1,防止溢出,设计时就要考虑负数的除法再套用正数情况,而不是相反

3.剩下的就是各种相反数

#include<iostream>
using namespace std;
int sum = 0;
int get(int numed, int num)
{if (numed > num){return numed;}int pro = 1;while (num * (pro+1) >=numed){pro++;}int numed1 = numed - num * pro;sum += pro;get(numed1, num);
}
int get1(int numed, int num)
{if (numed < 0 && num < 0 ){return get(numed, num);}else if(numed > 0 && num > 0){return get(-numed, -num);}else if (numed < 0 && num > 0){return -get(numed, -num);}else{return -get(-numed, num);}}
int main()
{int p=get1(15,-2);cout << sum<<p;return 0;
}


http://www.ppmy.cn/news/1572615.html

相关文章

ArcGIS基础知识之ArcMap基础设置——ArcMap选项:数据视图及布局视图选项卡的作用及设置

在使用ArcMap进行地图制作和地理数据分析时,数据视图和布局视图是两个不可或缺的重要模式。它们各自承担着不同的功能,帮助用户高效地完成从数据处理到地图输出的全流程操作。今天,我们就来详细了解一下这两个视图的作用及设置方法。 一、数据视图选项 数据视图是 ArcMap …

使用 Python 将爬取的内容保存到 Excel 表格

在数据爬取的过程中&#xff0c;很多时候我们需要将爬取到的内容保存到 Excel 表格中&#xff0c;以便进一步处理、分析和可视化。Python 提供了强大的库来实现这一功能&#xff0c;常用的有 requests、BeautifulSoup 用于网页内容的爬取&#xff0c;以及 pandas、openpyxl 用于…

华为小艺支持DeepSeek

华为小艺支持DeepSeek 小艺集成DeepSeek&#xff0c;使用便捷流畅 华为纯血鸿蒙HarmonyOS NEXT系统内置的小艺助手App已成功整合DeepSeek服务。用户能够免费且无门槛地使用该服务&#xff0c;同时还享有特别资源支持。目前&#xff0c;小艺在整合DeepSeek服务后运行极为流畅&…

wps接入DeepSeek教程

访问DeepSeek官网 申请API key 3.配置WPS &#xff08;1&#xff09;访问 OfficeAI 助手插件下载地址&#xff1a;https://www.office-ai.cn/ &#xff08;2&#xff09;安装插件后&#xff0c;打开 WPS&#xff0c;菜单栏会新增“OfficeAI 助手” 4.接入DeepSeek 不过现…

redis sentinel模式 与 redis 分片集群 配置

Redis 最低为5.0版本&#xff0c;以下为6.2.6版本信息。 模式 高可用性 数据分片 部署复杂度 适用场景 Sentinel 模式 高 无 中等 中小规模&#xff0c;需要高可用性 集群模式 高 支持 复杂 大规模&#xff0c;需要高…

Eureka 服务注册和服务发现的使用

1. 父子工程的搭建 首先创建一个 Maven 项目&#xff0c;删除 src &#xff0c;只保留 pom.xml 然后来进行 pom.xml 的相关配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xs…

unity学习39:连续动作之间的切换,用按键控制角色的移动

目录 1 不同状态之间的切换模式 1.1 在1个连续状态和一个连续状态之间的transition&#xff0c;使用trigger 1.2 在2个连续状态之间的转换&#xff0c;使用bool值切换转换 2 至少现在有2种角色的移动控制方式 2.1 用CharacterController 控制角色的移动 2.2 用animator…

微信小程序中缓存数据全方位解惑

微信小程序中缓存数据全方位解惑 微信小程序中的数据缓存是提升用户体验和优化性能的重要手段&#xff0c;跟电脑浏览器中的Local Storage的性质一样。以下是关于微信小程序数据缓存的相关知识点和示例的详细介绍&#xff1a; 1. 数据缓存的类型 微信小程序提供了两种数据缓…