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

leetcode数论(1362. 最接近的因数)

前言

经过前期的基础训练以及部分实战练习,粗略掌握了各种题型的解题思路。现阶段开始专项练习。

数论包含最大公约数(>=2个数)、最大公约数性质、最小公倍数、区间范围质因素计数(最下间隔)、质因素分解、判断质数、平方根、立方根、互质、同余等等。

描述

给你一个整数 num,请你找出同时满足下面全部要求的两个整数:

  • 两数乘积等于  num + 1 或 num + 2
  • 以绝对差进行度量,两数大小最接近

你可以按任意顺序返回这两个整数。

示例 1:

输入:num = 8
输出:[3,3]
解释:对于 num + 1 = 9,最接近的两个因数是 3 & 3;对于 num + 2 = 10, 最接近的两个因数是 2 & 5,因此返回 3 & 3 。

示例 2:

输入:num = 123
输出:[5,25]

示例 3:

输入:num = 999
输出:[40,25]

提示:

  • 1 <= num <= 10^9

实现原理与步骤

1.定义题目需要的返回结果数据记录为全局变量。

2.分割num+1的因素,在[sqrt(num+1),1]中分别查找最大的因素,剩余的的因素在[sqrt(num+1),num+1]中则为最小,此时两数距离最短。

3.同理再分割num+2进行比较。

实现代码

class Solution {int[] res=new int[2];public int[] closestDivisors(int num) {res[0]=0;res[1]=Integer.MAX_VALUE;divide(num+1);divide(num+2);return res;}public void divide(int num){for(int i=(int)Math.sqrt(num);i>0;i--){if(num%i==0){if(Math.abs(num/i-i)<Math.abs(res[1]-res[0])){res[1]=i;res[0]=num/i;break;}}}}}

1.QA:

http://www.lryc.cn/news/415110.html

相关文章:

  • sqli-labs-master less1-less6
  • 力扣287【寻找重复数】
  • 【2024蓝桥杯/C++/B组/传送阵】
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • 【深度学习实战(53)】classification_report()
  • 计算机网络基础之网络套接字socket编程(初步认识UDP、TCP协议)
  • 手撕Python!模块、包、库,傻傻分不清?一分钟带你弄明白!
  • Linux--序列化与反序列化
  • 使用C#和 aspose.total 实现替换pdf中的文字(外语:捷克语言的pdf),并生成新的pdf导出到指定路径
  • 【Material-UI】Autocomplete中的高亮功能(Highlights)详解
  • Android 11(R)启动流程 初版
  • 从零安装pytorch
  • 2024.07.28 校招 实习 内推 面经
  • python实现小游戏——植物大战僵尸(魔改版本)
  • 基于K210智能人脸识别+车牌识别系统(完整工程资料源码)
  • 8.怎么配嵌套子路由,以及它的作用
  • 【海贼王航海日志:前端技术探索】HTML你学会了吗?(二)
  • 体系结构论文导读(三十一)(下):Soft errors in DNN accelerators: A comprehensive review
  • Python在指定文件夹下创建虚拟环境
  • 【SpringBoot】 定时任务之任务执行和调度及使用指南
  • 理解 Objective-C 中 +load 方法的执行顺序
  • 切面条问题算法的详解
  • JNDI注入
  • SQL Server数据库文件过大而无法直接导出解决方案
  • 学习日志8.4--DHCP攻击防范
  • 解决多个Jenkins Master实例共享Jenkins_home目录的问题(加锁解锁机制)
  • postgresql array 反向截取
  • 最新口型同步技术EchoMimic部署
  • 程序设计基础(c语言)_补充_1
  • 8.4 day bug