没啥思路看样例,不难发现一种特殊情况,即lcm(a1,a2,...,an)>an(a已经经过排序了),那么答案显然就是n
否则的话,有所有数都是an的约数,于是任取若干个数出来,他们的LCM一定也是an的约数(公倍数一定是最小公倍数的约数),于是我们枚举an的约数x,取出数列中所有是x的约数的数(一定是所有,因为数越多LCM越大,但不会超过x),并计算他们的LCM,如果他们的LCM没有在数列中出现过,那么就是答案备选
update 2024.8.5
这里还是强调一下复杂度的问题。我们知道算约数问题的复杂度的时候一定要算数的约束个数而不是直接n。这个一般用在倍数法里面。但实际上用试除法的复杂度仍然是这个,也不用n
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构