题解:
首先分析一下这个问题
发现等价于是求n之内与n互素的数的个数,即欧拉函数
这个可以线性筛
但发现还应该减去$x^2==1$的情况
这个东西不是那么好处理
考虑用中国剩余定理拆
因为$p1^{a1}*p2^{a2}*p3^{a3}....$这些是互素的
所以拆完后的方程的解和原方程是唯一对应的
问题变成$x^2 \equiv 1 (mod \ pi^{ai})$
移项变成$(x-1)(x+1) \equiv1 (mod \ pi^{ai})$
注意到当$pi>2$时$pi$不可能同时整除$(x-1)$ $(x+1)$
即一定要有一个等于0,所以有两个解
当$pi=2$的时候,分ai讨论一下 $1-->1 \ \ \ \ 2-->2 \ \ \ \ (>3)-->4$
原文地址:https://www.cnblogs.com/yinwuxiao/p/10332123.html
时间: 2024-12-28 21:19:42