遊び tokidoki 仕事

数学と音楽と教育と遊び

| おしごと - きょういく - がくせい - ゼミ - イベント | すうがく - おんがく - 数理音楽 - DTM - かがく - scratch
| Art - photo - おきにー - Tips - ものもう - あれこれ | About - Top

算数事始め

年末からどうも体の具合がおかしく,卒論の手直しが思うように進まない.
背中がゾクゾクするし風邪かと思うのだが,どうも花粉症的な症状に近い.
そういえばこのところ毎年正月前後に体の調子が悪くなる.
ようやく一息つけると,気持ちが油断するのかもしれない.

おまけに今年に限っては算数科研究ネタを急ピッチで作り上げねばならず,結構ピンチ.
で,年末に手に入れたネタ本が結構使えそう.
名門中学の算数入試問題をもとに数学とはなんぞや,を説いてくれる本だ.

本当はすごい小学算数

本当はすごい小学算数

何しろトビラの問題からして使えそうだったんで早速Amazonでポチった.

その第一章はとにかくやってみなはれ,という内容.
第1章「考える力」よりも大事な「やってみる力」
うん,もうこの15年ほど手の動かない学生を見ていていつも思うことだ.
つべこべ言わず,まずあれこれやってみなはれ,だ.
ついでにいうと,数学なんて本当は最初から授業やテキストで学ぶものなんかじゃない,あれこれやってみての「どうして」がそもそも無いと,お経を唱えるのとさして変わらない,と思う.

で,何はともあれ算数科研究ネタ作成に脅されながら,初めの問題をみる.

1□2□3□4□5=2□3□4□5□6
の□には×か+が入ります.
この式が正しくなるような×と+の入れ方を2通り見つけなさい.
(2008年 麻布中学入試)

さて,こういう問題,下手に数学慣れしていると何か一般法則を見つけようとしてかえって手が動かなくなるかもしれない.
けれど,これは小学生の問題,とにかくあれこれやって探せ,という単純な問題と思ったほうが早く答えが見るかる.

いや,学生にやらせる前にまず自分で探さなきゃ,なのだけど,もう頭がぐぁんぐぁん,背中もゾクゾクの状態なので,一つ答えを見つけたところで10進BASICに解かせることにした.
ズルい,の極みである.
もちろんついでなので問題を

連続する1,2,...,nと2,3,...,n+1の間に×か+を入れて成り立つ等式を探す.

にして,ただし,n<9,つまり一桁の数で収まるように限定して作ることにした.

まず
1□2=2□3と1□2□3=2□3□4
には解がなかった.

1□2□3□4=2□3□4□5
の解は
\begin{align*}
5&=1+2+3\times4=2\times3+4+5\\
14&=1\times2+3\times4=2+3+4+5\\
25&=1+2\times3\times4=2+3+4\times5
\end{align*}
の3つ.

1□2□3□4□5=2□3□4□5□6
の解は
\begin{align*}
20&=1+2+3\times4+5=2+3+4+5+6\\
25&=1\times2+3+4\times5=2+3\times4+5+6
\end{align*}
の2つ.

1□2□3□4□5□6=2□3□4□5□6□7
の解は
\begin{align*}
32&=1+2+3+4\times5+6=2+3\times4+5+6+7\\
32&=1\times2\times3+4\times5+6=2+3\times4+5+6+7\\
68&=1\times2+3\times4\times5+6=2\times3+4\times5+6\times7\\
39&=1\times2+3+4+5\times6=2\times3+4\times5+6+7
\end{align*}
の4つ.

1□2□3□4□5□6□7=2□3□4□5□6□7□8
の解は
\begin{align*}
40&=1+2\times3+4\times5+6+7=2+3\times4+5+6+7+8\\
76&=1+2+3\times4\times5+6+7=2\times3+4\times5+6\times7+8\\
76&=1+2+3\times4\times5+6+7=2+3+4+5+6+7\times8\\
75&=1\times2+3\times4\times5+6+7=2+3+4\times5+6\times7+8\\
47&=1+2+3+4+5\times6+7=2\times3+4\times5+6+7+8\\
46&=1\times2+3+4+5\times6+7=2+3+4\times5+6+7+8\\
47&=1\times2\times3+4+5\times6+7=2\times3+4\times5+6+7+8\\
69&=1+2\times3+4\times5+6\times7=2\times3\times4+5\times6+7+8\\
69&=1+2\times3+4\times5+6\times7=2+3\times4+5+6\times7+8
\end{align*}
の9つ.

そして
1□2□3□4□5□6□7□8=2□3□4□5□6□7□8□9
の解は19個らしい.
\begin{align*}
84&=1+2+3\times4\times5+6+7+8=2+3+4\times5+6\times7+8+9\\
55&=1+2+3+4+5\times6+7+8=2+3+4\times5+6+7+8+9\\
56&=1+2\times3+4+5\times6+7+8=2\times3+4\times5+6+7+8+9\\
55&=1\times2\times3+4+5\times6+7+8=2+3+4\times5+6+7+8+9\\
59&=1\times2+3\times4+5\times6+7+8=2\times3\times4+5+6+7+8+9\\
140&=1\times2+3+4\times5\times6+7+8=2\times3+4\times5+6\times7+8\times9\\
64&=1\times2+3+4+5+6\times7+8=2\times3+4+5\times6+7+8+9\\
78&=1+2\times3+4+5+6+7\times8=2\times3\times4+5\times6+7+8+9\\
78&=1+2\times3+4+5+6+7\times8=2+3\times4+5+6\times7+8+9\\
92&=1+2\times3\times4+5+6+7\times8=2+3\times4\times5+6+7+8+9\\
88&=1+2+3+4\times5+6+7\times8=2\times3\times4+5+6\times7+8+9\\
88&=1\times2\times3+4\times5+6+7\times8=2\times3\times4+5+6\times7+8+9\\
96&=1+2+3+4+5\times6+7\times8=2+3+4\times5+6+7\times8+9\\
97&=1+2\times3+4+5\times6+7\times8=2\times3+4\times5+6+7\times8+9\\
96&=1\times2\times3+4+5\times6+7\times8=2+3+4\times5+6+7\times8+9\\
100&=1\times2+3\times4+5\times6+7\times8=2\times3\times4+5+6+7\times8+9\\
100&=1\times2+3\times4+5\times6+7\times8=2\times3+4+5+6+7+8\times9\\
111&=1+2\times3\times4+5\times6+7\times8=2\times3+4\times5+6+7+8\times9\\
110&=1\times2\times3\times4+5\times6+7\times8=2+3+4\times5+6+7+8\times9
\end{align*}

最後に10進BAISCのソース.
行き当たりばったりで作ったので汎用性ゼロ.
そしてこういうのを作ってるときは頭が痛くない.

LET lim=5
INPUT  PROMPT "いくつの数で?(1,2,...,nと2,3,...,n+1)":lim

FOR k=0 TO 2^(lim-1)-1
   LET aa$="1"
   FOR i=0 TO lim-2
      IF bitand(k,2^i)<>0 THEN
         LET aa$=aa$&"*"&STR$(i+2)
      ELSE
         LET aa$=aa$&"+"&STR$(i+2)
      END IF
   NEXT i
   FOR l=0 TO 2^(lim-1)-1
      LET bb$="2"
      FOR i=0 TO lim-2
         IF bitand(l,2^i)<>0 THEN
            LET bb$=bb$&"*"&STR$(i+3)
         ELSE
            LET bb$=bb$&"+"&STR$(i+3)
         END IF
      NEXT i
      LET aa=calc(aa$)
      LET bb=calc(bb$)
      IF aa=bb THEN PRINT STR$(aa)&"="&aa$&"="&bb$
   NEXT l
NEXT k
FUNCTION calc(x$)
   DIM p$(1 TO 10)
   FOR i=1 TO 10
      LET p$(i)=""
   NEXT i
   LET pp=1
   LET i=2
   LET j=1
   DO
      IF X$(i:i)="+" THEN
         LET p$(pp)=X$(j:i-1)
         LET pp=pp+1
         LET j=i+1
      END IF
      LET i=i+1
   LOOP UNTIL i>LEN(X$)
   LET p$(pp)=X$(j:i-1)
   LET pp=1
   LET ans=0
   DO UNTIL P$(pp)=""
      LET Y$=P$(pp)
      LET Z=1
      DO
         LET z=z*VAL(Y$(1:1))
         LET Y$(1:2)=""
      LOOP UNTIL Y$=""
      LET ans=ans+z
      LET pp=pp+1
   LOOP 
   LET calc = ans
END FUNCTION
END