前言
一部机, 一个人, 一道题目磨一天, 8 tries 总算让我把这题给做出来了, 在此对这题涉及的知识点进行总结.
一、题面
令f(n) 等于 n 的所有正因子的和并给出正整数n, k满足 1 ≤ n , k ≤ 1 0 7 1 \leq n, k \leq 10 ^ 7 1≤n,k≤107
要求求出
∑ i = 1 n f ( i k ) m o d 1 0 9 + 7 \sum_{i=1}^nf(i^k) \mod 10^9+7 i=1∑nf(ik)mod109+7
并输出
二、思路
1.积性函数
积性函数的定义:
- 若函数满足任意两个互质的整数a, b均有f(ab) = f(a) * f(b)时, 函数为积性函数
- 若函数满足任意两个整数均有f(ab) = f(a) * f(b)时, 函数为完全积性函数
常用的积性函数有:
- φ(n) - 欧拉函数 1
- d(n) - 正整数的因子个数
- σ(n) - 正整数的所有正因子的k次幂之和
- 等等…
由此不难看出f(x)为积性函数, 又因为当两个正整数a,b互质时ak亦与bk互质, 则不妨令
g ( i ) = f ( i k ) g(i) = f(i^k) g(i)=f(ik)
不难得出
当 i 为素数或素数的整数次幂时, 设
i = p e i = p^{e} i=pe
则有
g ( i ) = f ( i k ) = 1 + p + p 2 + . . . + p e k = p e