题目描述:
定义函数φ(k)表示数字1...(k-1)中,和k互质的数字的个数。要求给定区间[L, R],找出在[L,R]范围内,
φ(k)值最小的数字,如果有多个数字存在最小值,那么输出数值最小的一个。解答:
·定理:
题目中定义的函数 φ(k)称为“欧拉函数”,该函数具有如下的几个性质:
定理1:若:k为素数,那么: φ(k) = k-1
这个结论是显然成立的,因为k是素数,所以对于k而言,它的约数只有1个,就是1,因此,1...(k-1)的所有数字和k的公约数也只有1,因此,1...(k-1)的数字和k都是互质的, φ(k) = k-1
定理2:若:p是素数,且n = p^k,那么 φ(n) = (p-1)*p^(k-1)
首先,所有p的倍数一定和n有一个公约数p,因此p的倍数和n一定不是互质的,而1...(n-1)的范围内,共有 p^(k-1)-1 个p的倍数:p, 2p, 3p, 4p, .... [p^(k-1)-1]*p,因此,1...(n-1)范围内至少有:p^(k-1)-1 个数字和n不互质。
其次,对于剩余的那些不是p的倍数的数字,假设x和n存在大于1最大公约数a,那么n和x一定可以被a整除,设:n = Aa,此时分别对A和a分解质因数:
A = p1 * p2 * ... * pm
a = q1 * q2 * ... * qs
其中:pi 和 qi 都是素数。并且,因为a>1,因此,上式中对于a的分解质因数,一定至少有1项,即s≥1
此时就可以得到n的另一组分解质因数的结果:
n = p1 * p2 * ... pm * q1 * q2 * qm
而:
n = p^k = p * p * p * ... * p (k个p相乘)
也是n的分解质因数的结果。 由于每个数字的分解质因数的结果是唯一的(这个定理俺不会证),就可以得到所有的qi和p是相等的,因此a也是p的倍数。
而a一定可以整除x的,因此x也是p的倍数。这个我们对于“x不是p的倍数”的约定是矛盾的,因此,x一定和n是互质的。
综上所述:所有的不是p的倍数的数字和p^k一定是互质的。
1...(n-1)范围内,共有 p^k-1 个数字,p的倍数有p^(k-1)-1个,不是p的倍数的数字共有: p^k - 1 - p^(k-1)-1 = p^k - p^(k-1) = (p-1)*p^(k-1)个。因此: φ(n) = (p-1)*p^(k-1),证毕。
定理3:若:p, q互质,那么: φ(p*q) = φ(p) * φ(q)
要证明这条性质,首先需要证明两条引理:
引理1: p是素数,那么对于任意的数字u,如果p和u%p互质,那么p和u就互质。
可以采用反正法进行