一道小学四年级算术题🧮引发的纷争🤣

2019-09-19  本文已影响0人  Pope怯懦懦地

话说自去年年底那次一道小学二年级算术题🧮引发的纷争🤣后,我又一次成功挑起了战火。这次是周孃发到群里的一道小学四年级算术题🧮:

有甲、乙、丙三个油桶🛢,各盛油若干千克。
先将甲桶里的油倒入乙、丙两桶,使乙、丙桶内的油各自翻番。
再将乙桶里的油倒入丙、甲两桶,使丙、甲桶内的油各自翻番。
最后,再将丙桶里的油倒入甲、乙两桶,使甲、乙桶内的油各自翻番。
此时,各桶内的油均是 16kg 。
问:甲、乙、丙桶内原来各有多少油?

有很多种解法,其中一种就是小学老师引以为豪的倒推法:

油量 甲桶 乙桶 丙桶
最后的油量 16 16 16
油量 甲桶 乙桶 丙桶
最后的油量 16 16 16
第三次倒油之前的油量 16 ÷ 2 16 ÷ 2 16 + 16 ÷ 2 + 16 ÷ 2
油量 甲桶 乙桶 丙桶
最后的油量 16 16 16
第三次倒油之前的油量 8 8 32
第二次倒油之前的油量 8 ÷ 2 8 + 32 ÷ 2 + 8 ÷ 2 32 ÷ 2
油量 甲桶 乙桶 丙桶
最后的油量 16 16 16
第三次倒油之前的油量 8 8 32
第二次倒油之前的油量 4 28 16
第一次倒油之前的油量 4 + 28 ÷ 2 + 16 ÷ 2 28 ÷ 2 16 ÷ 2

即:

油量 甲桶 乙桶 丙桶
最后的油量 16 16 16
第三次倒油之前的油量 8 8 32
第二次倒油之前的油量 4 28 16
第一次倒油之前的油量 26 14 8

我不喜欢这种解法,首先是一如既往地「不直观」,难以第一时间想到。反正我第一时间想到的是列方程组:

油量 甲桶 乙桶 丙桶
原始油量 x y z
第一次倒油 x - y - z y × 2 z × 2
第二次倒油 (x - y - z) × 2 2y - 2z - (x - y - z) 2z × 2
第三次倒油 (x - y - z) × 2 × 2 (2y - 2z - (x - y - z)) × 2 2z × 2 - (x - y - z) × 2 - (2y - 2z - (x - y - z))

即:

x - y - z = 4
3y - x - z = 8
7z - x - y = 16

解之即得。

「设未知数,列方程」的做法当然更直观,但诟病在于所谓的「小学生没学过方程组」。代数的方法(即引入未知数)固然繁琐,但只要了解了这一方法,傻子都能解出来。而倒推的办法对没接触过的人来说,则难以想到。

倒不能说,「倒推」是只适用于这道题的特殊技巧。倒推是从结论出发,缩小搜索空间的一种有效且常规的手段。但在这,对于一个四年级的小朋友而言,理解题意已经绞尽脑汁了,还要反其道而行之,技巧性过强。这才是我反感的点——把数学教学当作技巧训练。

数学教学应该是什么样的?用项武义老爷子的话就是「化繁为简,以简御繁」。

倒推,你说技巧性太强;方程组,更是没学过。那这道题怎么教?

首先,「没学过」的借口太过蹩脚。我高中的时候就把微积分学了,更不举 Galois 21 岁发明群论的故事了。

我会把代数解法作为第一方案推给学生,如果他们不能理解,再告诉他们倒推的方法。目的在于告诉他们,哪怕不能理解,也存在直接的、显而易见的解法。也在于告诉他们,方法不止一种,方法至少有两种:正面出击 & 背面包抄。

我最害怕的是,小朋友心中种下一个念头:那道题有且仅有一个非常精妙的解法。首先,真实世界的解法并非只有唯一一种。其次,我宁愿小朋友用工程的办法找到答案 / 或者绕开问题,也不希望小朋友困在那个「正确的答案」里面。

而如果这两种方法都不能理解,做不出来又何妨?

何况,还有暴力破解的办法:(这里做了个偷懒的假设:油量为正整数)

def delta(x, y, z)
  x1 = x - y - z
  y1 = y * 2
  z1 = z * 2

  x2 = x1 * 2
  y2 = y1 - x1 - z1
  z2 = z1 * 2

  x3 = x2 * 2
  y3 = y2 * 2
  z3 = z2 - x2 - y2

  [x3, y3, z3]
end

N = 100

N.times do |i|
  N.times do |j|
    N.times do |k|
      p [i, j, k] if delta(i, j, k) == [16, 16, 16]
    end
  end
end

我甚至想过:先随便猜一个答案,然后用最速下降法收敛到答案。

上一篇 下一篇

猜你喜欢

热点阅读