数论技巧公式总结
1.\(n!\) 中因子 \(k\) 的个数:
以 \(k=5\) 为例:
代码:
int solve(int n)
{
int res=0;
while(n)
{
res+=n/5;
n/=5;
}
return res;
}
2.\(gcd\)相关:
\(gcd(a,b)=1 \Rightarrow gcd(a,a-b)=1\)
3.欧拉函数相关:
(1)求出小于等于 \(n\) 且与 \(n\) 互质的数的和:
\[ans=\begin{cases}
\frac{\varphi(n)*n}{2} & ,n\geq 2\\
1 & ,n=1
\end{cases}
\]
(2)当 \(n\) 为奇数时,小于等于 \(n\) 且与 \(n\)互质的数中奇偶成对出现。
(3)设 \(n\) 为一个正整数,则
\[n=\sum_{d|n}{\varphi(d)}
\]