Project Euler 120
Project Euler 120
题目
Square remainders
Let $r$ be the remainder when $(a-1)^n + (a+1)^n$ is divided by $a^2$.
For example, if $a = 7$ and $n = 3$, then $r = 42: 6^3 + 8^3 = 728 \equiv 42 \bmod 49$. And as $n$ varies, so too will $r$, but for $a = 7$ it turns out that $r_{\max} = 42$.
For $3 \le a \le 1000$, find $\sum r_{\max}$.
二项式定理
二项式定理,即$n$次方二项式$(a+b)^n$的展开式:
解决方案
设$r(a,n)=((a-1)^n+(a+1)^n) \% a^2$。
根据二项式定理,对$a^2$取模后,二项式展开式中$a$的次数为$2$及以上的项不考虑,只考虑$a$的次数为$0$或$1$的项。
因此,满足下式:
$r(a,n) \equiv \dbinom{n}{1}a\cdot(-1)^{n-1}+\dbinom{n}{0}(-1)^n+\dbinom{n}{1}a\cdot 1^{n-1}+\dbinom{n}{0}1^n\equiv an+1+an\cdot(n-1)^n+(-1)^n\pmod{a^2}$
可以写成:
为使得$r(a,n)$最大,故不考虑$n$为偶数的情况。那么此时可以写成$r(a,n)=a\cdot (2n \% a)$。
值$2n\%a$需要尽可能接近$a$。由于$2n$为偶数,因此当$a$为偶数时,$\gcd(a,2)=2$,因此$2n\%a$最大能只能取到$2$的倍数$a-2$,而当$a$为奇数时,$\gcd(a,2)=1$,$2n\%a$最大可以取到$1$的倍数$a-1$。
因此有:
代码
1 | N = 1000 |