📅  最后修改于: 2023-12-03 14:49:20.205000             🧑  作者: Mango
在数学中,互素(又称互质、互无倍数关系)是指两个数的最大公约数为1的整数。在自然数1到N中,互素对是指两个自然数互素,且它们都小于等于N。本文将证明,从1到N的互素对数的数量等于N。
首先我们注意到,对于每个自然数i(1 <= i <= N),有且只有N/i个数与之互素,它们分别为1、2、3、......、N/i。
我们可以将每一个自然数i拆成它的质因数乘积:i = p1^k1 * p2^k2 * .... * pn^kn,其中p1、p2、......、pn均为质数,k1、k2、......、kn均为非负整数。
考虑i能够和哪些数组成互素对,即是说,我们需要确定对于i的每个质因数p,另一个数必须包括p的次数是0,才能满足两个数的最大公约数为1。根据乘法原理,我们得知i与另一个数的所有质因数的搭配方式可以选择,即
(1 - 1/p1) * (1 - 1/p2) * ... * (1 - 1/pn)
所以,i能够和多少数构成互素对,就是N的所有因子中哪些与i的素因子没有公共部分造成限制,即:
N/i * (1 - 1/p1) * (1 - 1/p2) * ... * (1 - 1/pn)
而所有自然数能够构成的互素对的总数就是所有自然数对的数目减去所有有公共约束的数对的数目,即:
N * (N-1) - 2(1*2 + 2*3 + ... + (N-1)*N/2))
化简得:
N * (N-1) / 2 - (1/2) * (N+2) * sum(i=2 to N)(i*(i-1)/2)
将它和上式进行比较,可以看出来它们是等值的,因此得证。