文章目录

  • 1. 题目
  • 2. 解题

1. 题目

如果正整数可以被 A 或 B 整除,那么它是神奇的。

返回第 N 个神奇数字。由于答案可能非常大,返回它模 10^9 + 7 的结果。

示例 1:
输入:N = 1, A = 2, B = 3
输出:2示例 2:
输入:N = 4, A = 2, B = 3
输出:6示例 3:
输入:N = 5, A = 2, B = 4
输出:10示例 4:
输入:N = 3, A = 6, B = 4
输出:8提示:
1 <= N <= 10^9
2 <= A <= 40000
2 <= B <= 40000

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/nth-magical-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

类似题目:

  • 丑数系列
class Solution {public:int lcmab;//最小公倍数int nthMagicalNumber(int N, int A, int B) {long long lo = 2, hi = 1e15, ans, mid, mod = 1e9+7, num;lcmab = A/__gcd(A,B)*B;// 最小公倍数 = A*B/最大公约数(A,B)while(lo <= hi) {mid = lo+((hi-lo)>>1);num = ct(mid,A,B);// mid 包含多少个 神奇数字if(num >= N){ans = mid;hi = mid-1;}elselo = mid+1;}return ans%mod;}long long ct(long long n, int A, int B) {return n/A + n/B - n/lcmab;}
};

4 ms 5.9 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 878. 第 N 个神奇数字(二分查找)相关推荐

  1. 【每日一题Day35】LC878第N个神奇数字 | 二分查找 找规律 + 数学

    第N个神奇数字[LC878] 一个正整数如果能被 a 或 b 整除,那么它是神奇的. 给定三个整数 n , a , b ,返回第 n 个神奇的数字.因为答案可能很大,所以返回答案 对 109 + 7 ...

  2. 878. 第 N 个神奇数字 数学+二分

    878. 第 N 个神奇数字 一个正整数如果能被 a 或 b 整除,那么它是神奇的. 给定三个整数 n , a , b ,返回第 n 个神奇的数字.因为答案可能很大,所以返回答案 对 109 + 7  ...

  3. 878. 第 N 个神奇数字(二分查找+数学)| 1819. 序列中不同最大公约数的数目(枚举+数学)

    878. 第 N 个神奇数字 一个正整数如果能被 a 或 b 整除,那么它是神奇的. 给定三个整数 n , a , b ,返回第 n 个神奇的数字.因为答案可能很大,所以返回答案 对 109 + 7  ...

  4. LeetCode 1231. 分享巧克力(极小极大化 二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 你有一大块巧克力,它由一些甜度不完全相同的小块组成.我们用数组 sweetness 来表示每一小块的甜度. 你打算和 K 名朋友一起分享这块巧克力,所以你 ...

  5. 【LeetCode】878. 第 N 个神奇数字

    题目描述 一个正整数如果能被 a 或 b 整除,那么它是神奇的. 给定三个整数 n , a , b ,返回第 n 个神奇的数字.因为答案可能很大,所以返回答案 对 109 + 7 取模 后的值. 示例 ...

  6. 力扣每日一题:878. 第 N 个神奇数字【二分法】

    一个正整数如果能被 a 或 b 整除,那么它是神奇的. 给定三个整数 n , a , b ,返回第 n 个神奇的数字.因为答案可能很大,所以返回答案 对 109 + 7 取模 后的值. 示例 1: 输 ...

  7. LeetCode 483. 最小好进制(二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 对于给定的整数 n, 如果 n 的 k(k>=2)进制数的所有数位全为1,则称 k(k>=2)是 n 的一个好进制. 以字符串的形式给出 n, ...

  8. LeetCode:数组(排列组合,二分查找I,二分查找II)

    1,排列组合 38,剑指Offer:字符串的排列 题目:输入一个字符串,打印出该字符串中字符的所有排列.你可以以任意顺序返回这个字符串数组,但里面不能有重复元素. class Solution {Li ...

  9. LeetCode LCP 28. 采购方案(排序 + 二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 小力将 N 个零件的报价存于数组 nums. 小力预算为 target,假定小力仅购买两个零件,要求购买零件的花费不超过预算,请问他有多少种采购方案. 注 ...

最新文章

  1. T.38 and the future
  2. 电脑声音推送到手机话筒_一台电脑是不是就能做在线教育直播了?
  3. rest post无法取到request_小白学Flask第五天 | 详解很重要的request对象
  4. centos7 通过kvm+vnc 实现远程桌面虚拟化和创建windows、Linux虚拟机
  5. LeetCode —— 148. 排序链表(Python)
  6. python中字典的键是唯一的吗_Python怎么通过字典的键和值做一个登录程序?
  7. matlab读入stl文件,【源码】二进制立体光刻文件(STL)的MATLAB读取函数stlread
  8. RDP报表工具2.4.2版本
  9. 笔记本电脑显示打印机服务器关闭,电脑打印机服务能设定自动关闭吗
  10. 三菱FX系列PLC-编程2
  11. NSACE|企业网络安全问题,千万别不在乎
  12. 怎么样关闭计算机管理员,电脑怎么样使用命令行程序启用和关闭管理员账户 - 今日爆点...
  13. 采用α-β算法实现井字棋游戏
  14. AS3多线程快速入门(三):NAPE物理引擎+Starling[译]
  15. OV强推性价比手机,小米或成最大受害者
  16. 奔跑吧linux内核知乎,802.11ah(HaLow)协议解析7:NDP控制帧(NDP CMAC Frame)
  17. 长期坐着不动会得什么病?
  18. 基于FPGA的贪吃蛇游戏设计(1)整体架构设计
  19. 东郊到家预约系统开发流程
  20. 分数阶微分方程c语言,第一讲分数阶微分方程.PDF

热门文章

  1. pojo类中list存储其他字段_List集合流处理类型小结
  2. windows无法访问指定设备路径或文件_完全免费的文件数据恢复工具:Microsoft Windows File Recovery...
  3. JSON(JavaScript Object Notation) 格式
  4. SharePoint 入门介绍
  5. Linq To Sql进阶系列 -目录导航
  6. 项目中获取系统的用例的基本步骤
  7. 聊聊、Highcharts 动态数据
  8. Weblogic(4)—— Linux环境Weblogic12c配置节点管理(nodemanage.properties)来开启应用服务器(server)及线程池配置...
  9. 怎么在前台取的ViewBag中的值
  10. C++ _countf