求: ∑n
i=1φ
(i)
1 <= n <= 10
杜教篩第二道裸題。
必要結論: ∑i
|nφ(
i)=n
證明:
設f(n) = ∑i
|nφ(
i)將n分解質因數,n = ∏p
qii
利用莫比烏斯函式裡學到的乙個性質,可以得到: f(
n)=∏
f(pq
ii)
∵f(pq)
=∑qk
=0φ(
pk)
=(∑q
k=1p
k−pk
−1) + 1 =p
q ∴
f(n)
=n
設s(n) = ∑n
i=1φ
(i)
∑ni=1∑j
|nφ(
j) =
∑ni=
1f(i
) =n
∗(n+
1)/2
∑ni=1s
(n/i
) ∑n
i=1∑
n/ij
=1φ(
j) =
∑ni=
1∑j|
nφ(j
) =n
∗(n+
1)/2
s(n) =
n∗(n
+1)/
2−∑n
i=2s
(n/i
) 利用和前一篇部落格(莫比烏斯函式)同樣的方法處理即可。
code:
#include
#define ll long long
#define fo(i, x, y) for(int i = x; i <= y; i ++)
using
namespace
std;
const
int maxn = 21544346, m = 1191279, mo = 1000000007;
bool bb, bz[maxn + 1];
int p[1362202], phi[maxn + 1];
ll n, ni = 500000004, h[m], f[m];
int hash(ll x)
void build()
phi[k] = phi[i] * (p[j] - 1);
}phi[i] = (phi[i] + phi[i - 1]) % mo;
}}ll dg(ll x)
x %= mo;
ans = (x * (x + 1) % mo * ni % mo - ans + mo) % mo;
f[w] = ans;
return ans;
}int main()
51nod1239 尤拉函式之和
求 i 1n i n 10 10 這道題和莫比烏斯函式一行,都可以通過神奇的推導的出結論。我們設 n i 1n i 眾所周知,d n d n 那麼,n n d n,d d 於是 n i 1n i d i,d d n n n 1 2 i 2n d i d d n n n 1 2 i d 2n d 1 ...
51Nod 1239 尤拉函式之和
acm模版 這個題和那個 51nod 1244 莫比烏斯函式之和 的方法幾乎一模一樣,差別就是推導公式的結果不一樣罷了,但是形式是一樣的。推導如下 設 f n i 1 n i 通過尤拉函式的性質我們可以知道 d n d n 所以呢,n n d n,d d f n i 1n i d i,d d f n...
51Nod 1239 尤拉函式之和
s n i 1n i n 是尤拉函式 給定n,求s n mod109 7 2 n 1010 這是我學杜教篩做的第二個題,第乙個就是和這個非常相似的求莫比烏斯函式之和 給大家推薦唐老師的一篇文章,個人感覺講的非常好,我就是在這裡學的 尤拉函式的乙個性質是這樣的n d n d 所以就有n n 1 2 i...