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

猫猫与数学【牛客tracker 每日一题】

猫猫与数学

时间限制:1秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

猫猫想出了一个数学题,她想考考你。

给定两个正整数a , b a,ba,b,找到最小的整数c ≥ 0 c≥0c0,使得g c d ⁡ ( a + c , b + c ) gcd⁡(a+c,b+c)gcd(a+c,b+c)1 11。此处 gcd 表示最大公约数。如果无解,输出− 1 −11

输入描述:

一行,两个正整数a , b a,ba,b
1 ≤ a , b ≤ 10 14 1≤a,b≤10^{14}1a,b1014

输出描述:

一行一个整数表示最小的c cc。无解输出− 1 −11

示例1

输入:

3 5

输出:

1

说明:

c = 1 c=1c=1g c d ⁡ ( 4 , 6 ) = 2 > 1 gcd⁡(4,6)=2>1gcd(4,6)=2>1,这是满足条件的最小的c cc

示例2

输入:

1 2

输出:

-1

说明:

对于任意c ≥ 0 c≥0c0,根据辗转相除法,g c d ⁡ ( 1 + c , 2 + c ) = g c d ⁡ ( 2 + c , 1 ) = 1 gcd⁡(1+c,2+c)=gcd⁡(2+c,1)=1gcd(1+c,2+c)=gcd(2+c,1)=1,故无解。

解题思路

本题核心是数论公式化简+因数枚举+最小解计算,解决超大数值范围的公约数问题。利用辗转相除法推导关键公式:gcd ⁡ ( a + c , b + c ) = gcd ⁡ ( a + c , ∣ a − b ∣ ) \gcd(a+c,b+c)=\gcd(a+c,|a-b|)gcd(a+c,b+c)=gcd(a+c,ab),设两数差值为d dd。若d = 1 d=1d=1,两数永远互质,直接输出− 1 -11;若a = b a=ba=b,则c = 0 c=0c=0即可满足条件。随后枚举d dd的所有大于1的因数,对每个因数p pp,计算让a + c a+ca+c成为p pp倍数的最小非负整数c cc,遍历所有因数后取最小值即为答案。算法通过平方根枚举分解因数,时间复杂度仅O ( d ) O(\sqrt{d})O(d),完美适配10 14 10^{14}1014的数值范围。

总结

核心逻辑:将原问题化简为求差值的因数,计算最小c cc使a + c a+ca+c被因数整除。
关键操作:数论公式推导、差值因数分解、最小非负解计算。
效率保障:平方根级别的因数枚举,高效处理超大数值,时间空间开销极小。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefvector<vector<ll>>vvt;typedefpair<ll,ll>pll;constll N=1e5+10;constll INF=0x3f3f3f3f3f3f3f3fLL;constll M=1e6+10;intmain(){ll a,b;cin>>a>>b;if(a==b){cout<<(a==1?1:0);return0;}if(a>=b)swap(a,b);b-=a;ll ans=INF;for(ll i=1;i*i<=b;i++){if(b%i==0){if(i>1){ll t=(a+i-1)/i*i;ans=min(ans,t-a);}ll j=b/i;if(j>1){ll t=(a+j-1)/j*j;ans=min(ans,t-a);}}}cout<<(ans==INF?(-1):ans);return0;}
http://www.cnnetsun.cn/news/2148797.html

相关文章:

  • AI代理日常任务执行能力评估:AgentIF-OneDay基准测试详解
  • 备考CISP-PTE,别光啃理论!手把手教你搭建自己的Web安全+中间件靶场(附资源清单)
  • 大模型幻觉现象解析与缓解策略
  • AI时代的数据许可机制:挑战与创新解决方案
  • 跨模态搜索引擎BrowseComp-V3架构解析与应用实践
  • 智能图像编辑新突破:专家路由系统CARE-Edit详解
  • 大语言模型解码策略:贪婪搜索、束搜索与采样方法详解
  • 2026年留学生Turnitin英文论文降AI攻略:海外高校AIGC检测通过完整方案
  • Cohere-transcribe语音识别模型:多语言高效ASR技术解析
  • CRISP技术:单目视频实现3D交互重建与物理仿真
  • Windows 11下从零搞定Mask2Former环境:保姆级避坑指南(含CUDA版本选择)
  • 【卷卷漫谈】GitHub统治世界,但我们开始怀念那个没有它的年代
  • 魔兽争霸3终极助手:WarcraftHelper完全配置与功能详解
  • 一杯水就能“破案”?聊聊eDNA技术如何像侦探一样追踪生物踪迹
  • 群晖NAS USB网卡驱动集成解决方案:实现2.5G网络性能扩展
  • Python包管理与虚拟环境最佳实践
  • 如何在Windows 10上运行Android应用:3步部署免费开源解决方案
  • 【Tidyverse 2.0性能革命】:3大底层引擎升级如何让自动化报告提速470%?
  • 终极指南:5分钟构建Python微信机器人实现消息自动化处理
  • fegin
  • 垂直智能体:专精一道的AI小能手
  • X-13ARIMA-SEATS时间序列季节调整软件的编译和使用
  • Cursor Free VIP深度解析:绕过AI编程工具试用限制的系统级技术方案
  • DLSS Swapper完全指南:3步解决游戏性能优化难题
  • 终极指南:如何用Reset Windows Update Tool修复Windows更新故障
  • 大数据赛项(中职组)-三个节点的创建及名字网络配置
  • 3步实现跨平台互动桌宠:BongoCat模型定制与开发实战
  • 从VS那个恼人的调试断点报错说起,我重新理解了C++里new和栈对象的本质区别
  • Burpsuite靶场-jwt漏洞原理总结及复现
  • 躲开跨国文化陷阱:英美澳企业全英文面试中的“红牌”行为与高情商沟通术