题意:
定以
f(n)=(∑i=1nϕ(ni))%(n+1)
求
g(n)=∑ni=1f(i)
n <= 1000000
分析:
设n的质因子分解为
n=∏ki=1paii
那么n、n^2…..n^n的表示:
ni=∏ki=1paiii
所以
ϕ(ni)=ϕ(n)∗ni−1
f(n)=(∑i=1nϕ(ni))=(ϕ(n)∗∑i=0n−1ni)%(n+1)
我们考虑 ∑n−1i=0ni%(n+1)
如果n为偶数:
令S(n)=∑n−1i=0ni=∑n/2−1i=0(n2i+n2i+1)=∑n/2−1i=0n2i(n+1)
所以S(n) % (n + 1) = 0, f(n) = 0;
若n为奇数
令S(n)=1+∑n−1i=1ni=1+∑(n−1)/2i=1(n2i−1+n2i)=1+∑(n−1)/2i=1n2i−1(n+1)
此时S(n) % (n + 1) = 1, f(n) = phi(n)
预处理欧拉数, 记个sum就可…
这题卡样例, 第三组给错了也是蛮骚的