表のA列とB列に0から9までの数字のすべての組合せが入っており,全部で100行ある。表からA列の値がB列の値以下である行をすべて取り除く。残りは何行あるか。
| A | B |
|---|---|
| 0 | 0 |
| 0 | 1 |
| 0 | 2 |
| ⋮ | ⋮ |
| 9 | 8 |
| 9 | 9 |
这道题的解析和你的作答记录。
表のA列とB列に0から9までの数字のすべての組合せが入っており,全部で100行ある。表からA列の値がB列の値以下である行をすべて取り除く。残りは何行あるか。
| A | B |
|---|---|
| 0 | 0 |
| 0 | 1 |
| 0 | 2 |
| ⋮ | ⋮ |
| 9 | 8 |
| 9 | 9 |
40 是把 100 行简单对半分得到 50 之后,又多减去了 A=B 的 10 行而造成的错误。A=B 的 10 行本来就包含在「A ≦ B」之中,属于被删除的一方,所以正确做法是先从 100 行中去掉这 10 行得到 90 行,再对半分得 90÷2=45,不能把这 10 行减两次。
正解 A 列和 B 列各自都有 0~9 共 10 种取值,所以全部组合是 10×10=100 行。要删除的是「A 列的值小于等于 B 列的值」即 A ≦ B 的行,剩下的只有 A > B 的行。把 100 行分成三类:A=B 的行是从 (0,0) 到 (9,9) 共 10 行;剩下的 90 行中,把 (A,B) 与 (B,A) 互换后必定一个对应 A>B、另一个对应 A<B,所以 A>B 与 A<B 恰好数量相同,各为 90÷2=45 行。因此剩余是 45 行,正确答案是 イ。直接数也一样:A=1 时 B=0 有 1 种,A=2 时 B=0,1 有 2 种,……,A=9 时有 9 种,1+2+…+9=45,结果一致。
50 是误以为 100 行恰好平均分成 A>B 和 A≦B 两半。由于存在 A=B 的 10 行,A>B 与 A<B 合计只有 90 行,各为 45 行。漏算了含等号的那些行,就会得到 50。
55 是把被删除一方的行数(A ≦ B = 45+10=55 行)当成了答案。另外,若把条件误读成「A 列的值小于 B 列的值(A < B)」,剩下的就会算成 A ≧ B 的 55 行,也会得到这个数值。题目说的是「小于等于」,包含等号,所以 A=B 的 10 行也会被删除,不在剩余之列。