本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 ====== 2的整数次方幂的个位数是多少? ====== 令 <m>x=2^n</m>,其中n为正整数,令 <m>f(n)=2^n mod 10</m>,求f。 ===== 解 ===== 由于<m>n>=1</m>且n为整数,因此 <m>2^n</m> 一定为偶数。对于2的整数次方幂,对其质因数分解只能得到2,由于系数中没有5,因此 <m>f(n)<>0</m>。于是 <m>f(n)</m> 只可能有4个取值:2、4、6、8。 由于模乘运算的性质,对于模10的计算而言,两个正整数相乘时只需要考虑其个位即可: <m>a*b mod 10 = (a mod 10)*(b mod 10) mod 10</m> 由于2的整数次方幂的个位只有2、4、6、8四个可能的取值,根据上述性质,可以很容易地得到: |*|2|4|6|8| |2|4|8|2|6| |4|8|6|4|2| |6|2|4|6|8| |8|6|2|8|4| 很明显,当且仅当乘数个位为6时,乘积与另一乘数的个位相等。2的整数次方幂中,满足个位为6的最小数值是<m>2^4=16</m>。 我们知道: <m>f(n+4)=2^(n+4) mod 10=(2^4 * 2^n) mod 10=(2^4 mod 10)*(2^n mod 10) mod 10=6*(2^n mod 10) mod 10</m> 根据前面的表格,我们可以进一步得出: <m>f(n+4)=2^(n+4) mod 10=(2^n mod 10)mod 10=2^n mod 10=f(n)</m> 故f在其定义域上是一个周期为4的函数,即: <m>f(n)=f(n mod 4)</m> 注意此处有个小问题是<m>f(0)</m>并不在f的定义域内。为了简便起见,我们令<m>f(0)=6</m>。这样一来,就没有什么不是拉格朗日插值解决不了的问题了。 定义: <m>g(x)=-10x^3/3+15x^2-47x/3+6</m> 注:若此问题是为了用程序来算,此处也可以用查表法: |x|g(x)| |0|6| |1|2| |2|4| |3|8| 则: <m>f(n)=g(n mod 4)</m>