数学题001-数位乘积
题目
(2005·罗马尼亚) 定义 $\forall x \in N^*,p(x)$ 为 $x$ 各位数字的乘积(例如: $p(23)=6,p(110)=0,p(124)=8$). 求出所有的 $n$,使得 $10p(n)=n^2+4n-2005$.
解法
末位筛选
首先,由于 $10p(n)$ 是 $10$ 的倍数,所以 $n^2+4n$ 是以 $5$ 结尾的整数. 对于末位为 $1 \sim 9$的数字,不难发现只有 $1,5$ 满足 $n^2+4n$ 以 $5$ 结尾.
下界
不难发现,$10p(n) \geq 0$,所以 $n^2+4n-2005 \geq 0,n \geq 43$.
求值-1
上界
考虑 $n \in [100,999]$ 的情况:
- 左端 $\in [0,729]$
- 右端 $\geq 8395$
当 $n$ 更大时,左右差距也更大,所以 $n \in [43,99]$.
计算
分别设 $n_1=10k+1,n_2=10k+5$ (不考虑 $k$ 的范围):
- 对于 $n_1$,$p(n_1)=1 \cdot k=k,10k=(10k+1)^2+4(10k+1)-2025$,无解.
- 对于 $n_2$,同理求出 $10(5k)=(10k+5)^2+4(10k+5)-2025$,解得 $k=4$.
因此,唯一解为 $45$.
求值-2
特殊性质
在我做出这题的时候,给我题的同学偷偷告诉我:$\forall x \in N^*,p(x) \leq x$.
数学归纳法.
我们假设数字 $x$ 有 $k$ 位:
- $k=1$,$p(x)=x$.
- 若$k \neq 1$ 时,$p(x) \leq x$ 成立:
令 $t=10x+m(m \in [0,9])$,也就是 $t$ 是在 $x$ 的末位追加一个 $m$,
注意到 $m \lt 10$,$p(t)=mp(x) \leq 10p(x) \leq 10x \leq 10x+m \leq t$.
所以 $\forall x \in N^*,p(x) \leq x$.
根据性质得出上界
根据刚才的性质,$n^2+4n-2005 \leq 10n,n \leq 47$.
既然 $n \in [43,47]$,说明只有 $n=45$ 可能满足条件.
代入验证,当 $n=45$ 时两端相等,所以 $n=45$ 是唯一解.