这个计算器能做什么
这是一个用来求解经典"年龄应用题"的小工具:只要输入父母现在的年龄、孩子现在的年龄,以及目标倍数 \(N\),它就能算出从现在起经过多少年,父母的年龄正好是孩子的 \(N\) 倍。它还会告诉你到那一刻双方各自的年龄。结果也可能是负数,表示这件事其实已经在过去发生过了。
如何使用
分别填入父母的当前年龄、孩子的当前年龄,以及倍数 \(N\)(例如填 2 表示"年龄是两倍")。计算器会给出距今的年数、届时孩子和父母各自的年龄,以及两人之间恒定不变的年龄差。如果"距今年数"为负,只是说明那个时刻已经过去了。
公式原理
核心思路在于:两个人之间的年龄差永远不会改变——\(D = \text{父母年龄} - \text{孩子年龄}\) 始终保持恒定。在目标时刻,我们希望 未来父母年龄 \(= N \times\) 未来孩子年龄,而年龄差依然是 \(D\)。代入后可得 未来孩子年龄 \(\times (N - 1) = D\),于是:
未来孩子年龄 =(父母年龄 − 孩子年龄)/(N − 1),接着 未来父母年龄 = N × 未来孩子年龄,最后 距今年数 = 未来父母年龄 − 父母年龄。
$$t = \frac{D}{\,k - 1\,} \cdot k - P$$如果 \(N = 1\),公式就会出现除以零的情况(在年龄差恒定且不为零的前提下,两个人永远不可能同岁),因此无解。
实例演算
父母 41 岁,孩子 13 岁,\(N = 2\)。年龄差 \(D = 41 - 13 = 28\)。未来孩子年龄 \(= 28 / (2 - 1) = 28\)。未来父母年龄 \(= 28 \times 2 = 56\)。距今年数 \(= 56 - 41 = 15\)。也就是说,再过 15 年,孩子 28 岁、父母 56 岁,而 \(56 = 2 \times 28\)。
常见问题
为什么结果会是负数?因为这种关系也可能曾经在过去成立过。比如父母 40 岁、孩子 10 岁、\(N = 5\),算出来是 \(-2.5\) 年:也就是说 2.5 年前,父母(37.5 岁)正好是孩子(7.5 岁)的 5 倍。
如果我填 N = 1 会怎样?无解。年龄差固定且不为零的两个人,年龄永远不可能相等。
年龄可以是小数吗?可以。运算是精确的,所以孩子和父母未来的年龄可能是小数,比如 7.5 岁。