如何证明b进制下(12321)_b等特定数为平方数?
Hey,这几个b进制数的平方性其实很好证明,核心就是把它们转成十进制表达式,再凑成某个整数的平方就行。咱们一个个来拆解:
首先把这个b进制数转成十进制,这是进制问题的常规操作:
$$(12321)_b = 1 \cdot b^4 + 2 \cdot b^3 + 3 \cdot b^2 + 2 \cdot b + 1$$
接下来对这个表达式做代数变形,凑成平方形式:
把式子分组重组:
$$
\begin{align*}
&b^4 + 2b^3 + 3b^2 + 2b + 1 \
=& (b^4 + 2b^3 + b^2) + (2b^2 + 2b) + 1 \
=& b2(b2 + 2b + 1) + 2b(b + 1) + 1 \
=& b2(b+1)2 + 2b(b+1) + 1
\end{align*}
$$
你看,这完全就是完全平方公式 $x^2 + 2x + 1 = (x+1)^2$ 的形式,这里的 $x = b(b+1)$,代入后得到:
$$(b(b+1) + 1)^2 = (b^2 + b + 1)^2$$
另外题目要求 $b>3$,是因为这个数的数位里有数字3,b进制的每一位数字必须小于基数b,所以b必须大于3才能保证这个数是合法的b进制数。
同样先转十进制:
$$(14641)_b = 1 \cdot b^4 + 4 \cdot b^3 + 6 \cdot b^2 + 4 \cdot b + 1$$
这个表达式是不是特别眼熟?它就是二项式定理里 $(b+1)^4$ 的展开式!咱们展开验证一下:
$$(b+1)^4 = b^4 + 4b^3 + 6b^2 + 4b + 1$$
而 $(b+1)^4$ 又可以写成 $[(b+1)2]2$,这显然是一个整数的平方。
这里 $b>6$ 的原因也很直接:这个数的数位里最大数字是6,基数b必须大于6,才能让每一位数字都合法,不会出现进位。
还是先转十进制:
$$(1234321)_b = 1 \cdot b^6 + 2 \cdot b^5 + 3 \cdot b^4 + 4 \cdot b^3 + 3 \cdot b^2 + 2 \cdot b + 1$$
咱们尝试把它写成某个多项式的平方,比如 $(b^3 + b^2 + b + 1)$,展开看看:
$$
\begin{align*}
(b^3 + b^2 + b + 1)^2 &= b^6 + 2b^5 + (b^4 + 2b^4) + (2b^3 + 2b^3) + (b^2 + 2b^2) + 2b + 1 \
&= b^6 + 2b^5 + 3b^4 + 4b^3 + 3b^2 + 2b + 1
\end{align*}
$$
完美!刚好和十进制表达式完全一致。所以这个b进制数就是 $(b^3 + b^2 + b + 1)^2$,自然是平方数。
这里 $b>4$ 的限制是因为数位里最大数字是4,必须保证4 < b,才能让这个数是有效的b进制数。
内容的提问来源于stack exchange,提问作者Navid




