这就是一道系数不为1的扩展CRT(本来如果保证有逆元的话是可以直接逆元的,但是不保证有逆元)
那么这篇博客的方法可以学习,至于为什么那就是所有的通解,我们先来推导一下普通的excrt为什么那个样子是通解(见蓝书P155)
我们利用数学归纳法,当时,只有一个方程:,当求出一个特解的时候,他的通解就是,显然满足
假设对前个方程来说,解集为{}(其中是这个解集中的最小正整数),我们来考虑加入第个方程后的通解是多少(假设我们从解集中任选一个解)
显然通解就是的通解,注意是已知数,故转化为线性方程,那么的通解就是,而我们有,故写成,代入通解有,那么通过求出来的解集就是{}
对于前个方程的解集中的两个解(假设),分别求出前个方程的解集为{}和{};我们有和,所以,就是说是的倍数,而显然是的倍数(因为都是前个方程的一个通解),所以是的倍数,也就是说是两者的公倍数,由于公倍数是最小公倍数的倍数(复习一下,这个定理从质因数分解之后取max理解),所以是最小公倍数的倍数,进而可以得到任意取出的解所求出的新的解集是一样的,也就证明完毕了
这道题目也尝试证明一下
稳妥一点的方法是什么?
首先列出所有不定方程,然后对每一个方程化成线性同余方程后解出一个特解,那么这个方程的通解就是,设最终答案为,那么就可以列出新的若干个不定方程
这就又是一般的ex中国剩余定理了
代码见洛谷即可
update 2024.8.6
最开始那篇题解的好像有错,见这篇讨论
所以还是用稳妥一点的办法吧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构