白黒判定
息子(中3)の数学の問題集から、テーマを拝借してみた。
設問では、白黒黒の繰り返しで、階段状に〇を並べている。
最初は、例えばm段目n個目の色を求める式を立ててしまえば簡単では?
と考えたが、上手く行かなかった。なぜなら、例えばnという数字が3の
倍数であるかいなか、判断がつかないからだ。
※3で割り切れるかどうか、を現わしきれない。
そこで、白黒を求めるユーザー定義関数を作成してみた。
Function 白黒判定(m As Long, n As Long) As String ' m-1段目までの丸の合計を求める。 Dim 丸の数 As Long 丸の数 = m * (m - 1) / 2 ' これにm段目の指定数(n個)を加える。 丸の数 = 丸の数 + n ' 3で割った時の余りの数で、白黒判定。 Select Case 丸の数 Mod 3 Case 1 白黒判定 = "白" Case Else 白黒判定 = "黒" End Select End Function
これなら、1234段目の567個目が黒であることも、簡単に求められる。
あとは、如何にして試験会場にExcelを持ち込むか(※)だな。
※決して持ち込んではいけません。
参考まで。