数学题001-数位乘积

题目

(2005·罗马尼亚) 定义 ∀x∈N∗,p(x)\forall x \in N^*,p(x) 为 xx 各位数字的乘积(例如: p(23)=6,p(110)=0,p(124)=8p(23)=6,p(110)=0,p(124)=8). 求出所有的 nn,使得 10p(n)=n2+4n−200510p(n)=n^2+4n-2005.

解法

末位筛选

首先,由于 10p(n)10p(n) 是 1010 的倍数,所以 n2+4nn^2+4n 是以 55 结尾的整数. 对于末位为 1∼91 \sim 9的数字,不难发现只有 1,51,5 满足 n2+4nn^2+4n 以 55 结尾.

下界

不难发现,10p(n)≥010p(n) \geq 0,所以 n2+4n−2005≥0,n≥43n^2+4n-2005 \geq 0,n \geq 43.

求值-1

上界

考虑 n∈[100,999]n \in [100,999] 的情况:

  • 左端 ∈[0,729]\in [0,729]
  • 右端 ≥8395\geq 8395

当 nn 更大时,左右差距也更大,所以 n∈[43,99]n \in [43,99].

计算

分别设 n1=10k+1,n2=10k+5n_1=10k+1,n_2=10k+5 (不考虑 kk 的范围):

  • 对于 n1n_1,p(n1)=1⋅k=k,10k=(10k+1)2+4(10k+1)−2025p(n_1)=1 \cdot k=k,10k=(10k+1)^2+4(10k+1)-2025,无解.
  • 对于 n2n_2,同理求出 10(5k)=(10k+5)2+4(10k+5)−202510(5k)=(10k+5)^2+4(10k+5)-2025,解得 k=4k=4.

因此,唯一解为 4545.

求值-2

特殊性质

在我做出这题的时候,给我题的同学偷偷告诉我:∀x∈N∗,p(x)≤x\forall x \in N^*,p(x) \leq x.

数学归纳法.

我们假设数字 xx 有 kk 位:

  • k=1k=1,p(x)=xp(x)=x.
  • 若k≠1k \neq 1 时,p(x)≤xp(x) \leq x 成立:

令 t=10x+m(m∈[0,9])t=10x+m(m \in [0,9]),也就是 tt 是在 xx 的末位追加一个 mm,

注意到 m<10m \lt 10,p(t)=mp(x)≤10p(x)≤10x≤10x+m≤tp(t)=mp(x) \leq 10p(x) \leq 10x \leq 10x+m \leq t.

所以 ∀x∈N∗,p(x)≤x\forall x \in N^*,p(x) \leq x.

根据性质得出上界

根据刚才的性质,n2+4n−2005≤10n,n≤47n^2+4n-2005 \leq 10n,n \leq 47.

既然 n∈[43,47]n \in [43,47],说明只有 n=45n=45 可能满足条件.

代入验证,当 n=45n=45 时两端相等,所以 n=45n=45 是唯一解.