[HEOI2012]Akai 的数学作业

题目:
https://www.luogu.com.cn/problem/P4598

给出一个一元 n n n次方程:
a 0 + a 1 x + a 2 x 2 + . . . a n x n = 0 a_0+a_1x+a_2x^2+...a_nx^n=0 a0+a1x+a2x2+...anxn=0
求此方程的所有有理数解。 n ≤ 100 , ∣ a i ∣ ≤ 2 ∗ 1 0 7 , a n ≠ 0 n\le 100,|a_i|\le2*10^7,a_n\neq0 n100,ai2107,an=0

思路:
x = p q x=\frac{p}{q} x=qp,且gcd(p,q)=1,则有:
∑ i = 0 n a i ( p q ) i = 0 \sum_{i=0}^{n}a_i\Big(\frac{p}{q}\Big)^i=0 i=0nai(qp)i=0
通分得:
∑ i = 0 n a i p i q n − i = 0 \sum_{i=0}^{n}a_ip^iq^{n-i}=0 i=0naipiqni=0
取模有:
{ a 0 q n + ∑ i = 1 n a i p i q n − i ≡ 0 ( m o d   p ) ∑ i = 0 n − 1 a i p i q n − i + a n p n ≡ 0 ( m o d   q ) \begin{cases} a_0q^n+\sum_{i=1}^{n}a_ip^iq^{n-i}\equiv0(mod\,p)\\ \sum_{i=0}^{n-1}a_ip^iq^{n-i}+a_np^n\equiv0(mod\,q)\\ \end{cases} {a0qn+i=1naipiqni0(modp)i=0n1aipiqni+anpn0(modq)
得:
{ a 0 q n ≡ 0 ( m o d   p ) a n p n ≡ 0 ( m o d   q ) \begin{cases} a_0q^n\equiv0(mod\,p)\\ a_np^n\equiv0(mod\,q)\\ \end{cases} {a0qn0(modp)anpn0(modq)
因为 g c d ( p , q ) = 1 gcd(p,q)=1 gcd(p,q)=1,得:
{ p ∣ a 0 q ∣ a n \begin{cases} p|a_0\\ q|a_n\\ \end{cases} {pa0qan
当然如果 a 0 = 0 a_0=0 a0=0 的话需要找到一个最小的 t t t满足 a t ≠ 0 a_t\neq 0 at=0,然后就可以枚举 p ∣ a 0 , q ∣ a n p|a_0,q|a_n pa0,qan,然后暴力判断是否可行,判断的方法和解方程这道题一样,即放到模 m o d mod mod剩余系下判断是否为 0 0 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值