Nikita and LCM

没啥思路看样例,不难发现一种特殊情况,即lcm(a1,a2,...,an)>ana已经经过排序了),那么答案显然就是n

否则的话,有所有数都是an的约数,于是任取若干个数出来,他们的LCM一定也是an的约数(公倍数一定是最小公倍数的约数),于是我们枚举an的约数x,取出数列中所有是x的约数的数(一定是所有,因为数越多LCM越大,但不会超过x),并计算他们的LCM,如果他们的LCM没有在数列中出现过,那么就是答案备选

update 2024.8.5

这里还是强调一下复杂度的问题。我们知道算约数问题的复杂度的时候一定要算数的约束个数而不是直接n。这个一般用在倍数法里面。但实际上用试除法的复杂度仍然是这个,也不用n

posted @   最爱丁珰  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示