欧拉计划题5(1-n的最小公倍数)

前言

欧拉计划是学习数学、数论选手遨游的海洋,700+道题让你我越来越强。
打卡网址链接: link.

一 题目描述

链接: link.
在这里插入图片描述
至于输入描述、范围读者自己意会,懂得都懂。

二 解题思路

对于学过大整数分解的同学,肯定会第一时间想到下面的分解公式
在这里插入图片描述
求的是1-n的最小公倍数,自然想到每个素因子的个数得选择1-n中出现最多的次数,
即对于素因子
在这里插入图片描述
取最多的次数,即对1-n里的每个数ni,分解后pi取最大值ki放在筛素数的数组中保存。
例如1 2 3 4 5 6 7 8 9 10
筛完素数后,素数数组为 2 3 5 7
而对于素数pi=2时,ki应该取几呢?
答案一目了然,8中最多可以提取3个2,故ki=3;
同理素数3取9含有2个,5含有1个,7含有1个。
最终1-n的最小公倍数为2223357=2520;
即对于1-n的最小公倍数公式,
在这里插入图片描述

三 总结扩展

本fw想到了是否可以用于求解二个不相邻的数或者n个不相邻的数的lcm,(因为本fw之前对于此类问题都是直接套循环二二求之。),答案是显然可以的。
通常对于二个数的lcm求解,最多的是欧几里得的辗转相除法。
而对于多个数的gcd或lcm,只能依靠循环二二求gcd或lcm。

而对于本题,又有了个新的想法、解法。
即:欧拉筛+ki判断最后套用公式。
复杂度O(n)。

四 每日共勉

荣辱不惊,看庭前花开花落.去留无意,望天上云卷云舒。
用符合现在的话简单点说,不要没见过世面天天看jk小姐姐,有没有对象无所谓,看题目wa还是ac。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数论只会a mod b

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值