3045 Lcm与Gcd构造

2023-11-06

已知:
gcd(a,b) = n
lcm(a,b) = m

求min(a,b)是多少

通过gcd的了解我们可以知道,两个数a == k1 * n以及b == k2 * n并且gcd(k1,k2) == 1

ab == n * m
m == a * b/n
a
b == k1 * k2 * n * n
于是可以得到 m == k1 * k2 * n
将n除到左边,可以得出m/n == k1 * k2
于是k1 和 k2 都是 m / n的因子
这样就可以以根号的复杂度找出这两个因子,并判断k1 和 k2 是否是互质的
a + b == (k1 + k2 ) * n
所以说代码:

	int t = read;
    while(t--){
        ll n = read,m = read;
        ll lim = m / n;
        ll t1,t2;
        ll ans = 0x3f3f3f3f;
        for(ll i=1;i*i<=lim;i++){
            if(lim % i == 0){
                t1 = i,t2 = lim / i;
                if(gcd(t1,t2) == 1) ans = min(ans,(t1+t2)*n);
            }
        }
        printf("%lld\n",ans);
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

3045 Lcm与Gcd构造 的相关文章

  • 了解GCD

    目录 一 GCD简介 二 GCD好处 三 GCD任务和队列 1 任务 同步执行 xff08 sync xff09 xff1a 异步执行 xff08 async xff09 xff1a 2 队列 串行队列 xff08 Serial Dispa
  • 数论——GCD

    ZOJ Problem Set 3846 题意 xff1a 给 N 个数 xff0c 任取两个数Ai Aj xff0c 求出这两数的GCD xff0c 然后用GCD替换这两个数的值 直至这n个数的值都相等为止 xff0c 此时输出求GCD的
  • 证明,若gcd(n,i) == 1,那么gcd(n,n-i)==1

    证明 xff0c 若gcd n i 61 61 1 那么gcd n n i 61 61 1 解 xff1a 设gcd n i 61 61 1 gcd n n i 61 61 k 61 1 那么n与 n i 的最大公约数为k n k 61 6
  • 【题解】洛谷P2651 添加括号III(gcd 数学)

    看到是入门难度结果看了半天也不知道啥做法 kkk大神给出了答案 xff0c a1肯定在分子上 xff0c a2肯定在分母上 xff0c 如果我们想让这个式子更有可能化成整数 xff0c 那么a1 a3 a4 an都应该在分子上 xff0c
  • 证明:当gcd(a, b) = 1,则gcd(a + b, a) = 1

    假设 xff1a gcd a b 61 1 证明 xff1a gcd a 43 b b 61 1 反证法 xff1a 假设gcd a 43 b b 61 k 61 1 则 xff1a b 61 k r1 a 43 b 61 a 43 k r
  • 数学方法证明辗转相除法(欧几里得算法):gcd(a,b)=gcd(b,a%b)

    纯数学方法证明辗转相除法 xff08 欧几里得算法 xff09 xff1a gcd a b 61 gcd b a b 1 首先 设gcd a b 61 gcd b a b 61 d 2 构造k与c 得到a 61 kb 43 c 其中c 61
  • 更相减损法和辗转相除法(GCD)求最小公倍数和最大公约数

    更相减损法和辗转相除法 xff08 GCD xff09 求最小公倍数和最大公约数 标签 xff08 空格分隔 xff09 xff1a 算法 算法竞赛 这两种算法平时经常听到 xff0c 听起来也很装逼 xff0c 但是我老是忘了他们的原理
  • 基础算法题——奇怪的分式(避免小数运算)

    奇怪的分式 上小学的时候 小明经常自己发明新算法 一次 老师出的题目是 1 4 乘以 8 5 小明居然把分子拼接在一起 分母拼接在一起 答案是 18 45 参见图1 png 老师刚想批评他 转念一想 这个答案凑巧也对啊 真是见鬼 对于分子
  • 2021-07-21训练日记upc联通数(思维)

    A 联通数 题目描述 数学高手小G最近发现了一种新型的数 他首先在草稿纸写下任意长度的数字串kkkkkkkkkkk 1 k 9 并在其中间添加加号 且相邻两个加号之间至少含有两个数字k 默认数字串第一个数字前与最后一个数字后也有两个加号 然
  • 数论整理之算数基本定理de变形

    D Sigma Function 这道题一看到就和上一道题很像 以为也是算数基本定理的考查 做了一下 发现能过样例 tle tle的思路 经过多次验算 就是发现幂的规律吧 只要存在一个pi ei都为奇数的pi ei 就能使sum为偶数 素因
  • 欧拉函数模板

    欧拉函数 n varphi n n 表示 1 n
  • gcd函数和lcm函数(c/c++)

    gcd函数和lcm函数 c c gcd函数简介 最大公因数 英语 highest common factor hcf 也称最大公约数 英语 greatest common divisor gcd 是数学词汇 指能够整除多个整数的最大正整数
  • iOS进阶_GCD(二.GCD串行队列&并发队列)

    GCD 核心概念 将任务添加到队列 指定任务执行的方法 任务 使用block封装 block 就是一个提前准备好的代码块 在需要的时候执行 队列 负责调度任务 串行队列 一个接一个的调度任务 并发队列 可以同时调度多个任务 任务执行函数 任
  • gcd(裴蜀定理)——晨跑

    gcd 裴蜀定理 晨跑 题目描述 无体育 不清华 每天锻炼一小时 健康工作五十年 幸福生活一辈子 在清华 体育运动绝对是同学们生活中不可或缺的一部分 为了响应学校的号召 模范好学生王队长决定坚持晨跑 不过由于种种原因 每天都早起去跑步不太现
  • 最大公约数、最小公倍数、辗转相除法的求解和证明

    两个正整数的最大公约数 Greatest Common Divisor GCD 在计算机中通常使用辗转相除法计算 最小公倍数 Least Common Multiple LCM 可以使用GCD来计算 下面首先介绍GCD和LCM 然后介绍辗转
  • 使用GCD处理后台线程和UI线程的交互(转自唐巧的技术博客)

    使用GCD FEB 22ND 2012 什么是GCD Grand Central Dispatch GCD 是Apple开发的一个多核编程的解决方法 该方法在Mac OS X 10 6雪豹中首次推出 并随后被引入到了iOS4 0中 GCD是
  • 最大公约数GCD

    输入2个正整数A B 求A与B的最大公约数 Input2个数A B 中间用空格隔开 1 lt A B lt 10 9 Output输出A与B的最大公约数 Sample Input 30 105 Sample Output 15 includ
  • 数论整理之特殊数one:斐波那契数列

    数论整理 特殊数方面 p s 黄金分割0 6180339887 斐波那契数列 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28
  • 最大比例

    题目描述 解析 接下来就是求解k和p的过程 在这道题中很难使用欧几里得算法就求解最大公约数 因此尝试使用另一种方法 更相减损术 循环相减法 如果要使用欧几里得算法的话 就需要开一个非常复杂的根号 非常难算 代码 include
  • 第二届蓝桥杯-最小公倍数问题

    题目 题目链接 题解 数学 高精度 如果直接按照计算多个数连续计算最小公倍数 那么显然要经过高精度乘法 高精度除法 两个高精度过于麻烦了 换个思路 我们将每个数都分解质因数 全部数的最小公倍数必然由分解得到的质因数相乘得到 而且构成最小公倍

随机推荐

  • js:使用正则将地理位置脱敏。5个字以内,保留第一个字和最后两个字,其余用*替代;6到9个字则保留最后五个字,其余用*替代;10个字以上则最后五个字的前面四个字代替为*

    需求背景 使用正则将地理位置脱敏 5个字以内 保留第一个字和最后两个字 其余用 替代 6到9个字则保留最后五个字 其余用 替代 10个字以上则最后五个字的前面四个字代替为 解决方法 enAdderssFun text if text len
  • 基于servlet+jsp的在线考试管理系统

    1 1 基于servlet jsp的在线考试管理系统 1 2 程序 编程语言 java 前台 jsp 开发工具 IDEA2020 JDK1 8 mysql5 7 tomat 8 管理账号 admin 密码 123456 请求localhos
  • JSX 的基本使用

    1 JSX 简介 通过上一篇博客的 1 个小应用 我们能体会到 和 Vue 相比代 用 React 写一个这么小的应用比较麻烦 而且代码比较混乱 接触过 Vue 的开发者应该知道 Vue 有两个构建版本 如果单独使用非完整版其实和上述用 R
  • Flask在Windows环境下的部署

    背景 由于目前在用的Flask项目涉及到一部分依赖Windows的处理 还无法迁移到linux平台 那么在windows环境下 要怎么部署呢 思路 根据Flask官网介绍 由于Flask内置的服务器性能不佳 推荐的主要的部署方式有如下几种
  • 若依系统(微服务版本)部署流程

    若依系统 微服务版本 部署流程 此处做最基本的部署 后续需要可根据系统需要添加功能 微服务版本源码地址 https gitee com y project RuoYi Cloud 若依系统官网 http www ruoyi vip 系统架构
  • Android Studio Gradle插件版本与Gradle 版本对应关系

    工作中 新接手同事维护老项目 因升级 Android Gradle 插件版本与Gradle 版本不匹配 致使无法构建打包 特此进行了梳理 目录 1 Android Gradle插件版本 与 Gradle版本关系 1 1 修改Gradle插件
  • 疯壳-鸿蒙OS-总线驱动开发及实现之SPI

    总线驱动及实现之SPI 疯壳 出品 SPI接口说明 鸿蒙OS中关于spi接口的定义在源码目录 drivers hdf frameworks include platform drivers hdf frameworks support pl
  • Python3-类型标注支持

    typing为Python的一个标注库 此默认支持PEP 484和PEP 526指定的类型提示 最基本的支持由Any Union Tuple Callable TypeVar和Generic类型组成 有关完整的规范 请参阅PEP 484 有
  • 本人亲自整理的极客时间设计模式之美的硬核笔记

    由于笔记内容过多 我把它放到语雀上了 点击我 以下内容是为了让搜索引擎 检测到这篇文章 要阅读体验 请点击上面的连接 点击我 去我的语雀看 对了 我看到语雀那里有投诉的功能 请读者不要去点 程序员不要为难程序员 你去点了 就再也无法看到我的
  • 分布式存储Ceph介绍及搭建

    一 存储的类型 1 单机存储设备 DAS 直接附加存储 是直接接到计算机的主板总线上去的存储 IDE SATA SCSI SAS USB 接口的磁盘 所谓接口就是一种存储设备驱动下的磁盘设备 提供块级别的存储 NAS 网络附加存储 是通过网
  • Scratch2.0在线注册用户并使用帮助

    教学目标 1 在Scratch2 0中注册一个账号 2 登录后 进行再线学习 3 利用帮助进行自主学习 了解Scratch作品的创作过程 教学过程 一 注册用户 第一步 https scratch mit edu 打开官网 点 加入Scra
  • cuda编程学习2——add

    cudaMalloc 分配的指针有使用限制 设备指针的使用限制总结如下 1 可以将其传递给在设备上执行的函数 2 可以在设备代码中使用其进行内存的读写操作 3 可以将其传递给在主机上执行的函数 4 不能在主机代码中使用其进行内存的读写操作
  • Rust Diesel SQLite Windows

    问题描述 windos下想用Rocket使用SQLite3 自带案例 example todo 提示链接不到sqlite3 lib 原因分析 找到两个相关的issues https github com SergioBenitez Rock
  • 配置JAVA_HOME环境变量

    打开到环境变量 1 右击此电脑选择属性 2 选择高级系统设置 3 选择环境变量 配置JAVA HOME环境变量 1 新建系统变量 1 在系统变量中找到Path 如果没有就新建一个 然后新建两个变量
  • 第一章:VUE3学习(一)---Nodejs安装以及环境变量配置

    Nodejs安装以及环境变量配置 1 下载Nodejs 1 1最新版下载 1 2历史版本下载 2 安装 3 验证 4 环境变量配置 5 npm下载设置 6 测试 6 设置国内镜像提高下载速度 1 下载Nodejs 1 1最新版下载 直接官网
  • 用QT写一个类似的安装向导界面

    本文目录 功能描述 功能实现 框架 功能1 点击同意协议 才能进行下一步 功能2 选中指定路径的文件夹 并遍历该文件夹下所有的文件 功能3 设置进度条 功能4 两种激活方式 完整代码 功能描述 1 点击同意协议 才能进行下一步 2 选择一个
  • 2020软件测试学习自学路线分享,附完整资料,绝对有用哟

    2020软件测试学习路线图 内附自学路线 视频 工具经验 面试篇 划重点 资源链接 黑马程序员社区 想毕业后做测试相关的工作的 找学习资源找的头大 还好终于找到这么优质的可以系统地学习测试知识的途径 想学测试的小伙伴看看 真的可以跟着一步步
  • 误差向量幅度(EVM)

    转自 http blog sina com cn s blog 6c46cb860100otm3 html 误差向量幅度 EVM 误差向量 包括幅度和相位的矢量 是在一个给定时刻理想无误差基准信号与实际发射信号的向量差 Error Vect
  • 微信小程序添加插件腾讯位置服务路线规划,找不着的solution

    第一个 找到网页点击添加插件 提示类别不一样pass 第二个 在后台管理添加插件 提示找不着 pass 这两方法都不行 解决方法是 开发者后台登陆后 右上角服务 进入微信服务市场 选择开发者资源 然后选择插件 搜索腾讯位置服务路线规划 亲测
  • 3045 Lcm与Gcd构造

    已知 gcd a b n lcm a b m 求min a b 是多少 通过gcd的了解我们可以知道 两个数a k1 n以及b k2 n并且gcd k1 k2 1 ab n m m a b n ab k1 k2 n n 于是可以得到 m k