非専門的シンギュラリティー研究所

無限に動き続けるシステムを表す方法を AI なども使って考えていきます。

数学ゲーム(21)

中国の剰余定理パズル(8)

いろいろ書き直して動くようになりました。アイコンを設定しようと思ったのですが、まだやり方がよくわかっていません。アイコンができれば公開する予定です。

パズルの説明

  •  m n を互いに素な自然数、
  •  a 0 \le a \lt m である自然数、
  •  b 0 \le b \lt n である自然数

とするとき、

  •  m で割ると  a 余り、
  •  n で割ると  b 余る

 0 以上  mn 未満の数を求めるプログラムを完成させるパズルです。「中国の剰余定理」によりこのような数がただ一つ存在します。

起動すると以下の画面が表示されます。

中国の剰余定理パズル
(1) コード領域(最大公約数を求める関数のコード)
  • (1-1)(1-9) 変数を選択するドロップダウンリスト
(2) コード領域(結果を求めるコード)
  • (2-1)(2-4) 変数を選択するドロップダウンリスト
(3) 問題の数値を設定する領域
  • (3-1)  m n を変更する「除数作成」ボタン
  • (3-2)  m を設定するテキストボックス
  • (3-3)  n を設定するテキストボックス
  • (3-4)  a b を変更する「剰余作成」ボタン
  • (3-5)  a を設定するテキストボックス
  • (3-6)  b を設定するテキストボックス
(4) パズル操作領域
  • (4-1) 「スタート」ボタン(トグルボタン)
  • (4-2) 「実行」ボタン
  • (4-3) 「ログ出力」ボタン(トグルボタン)
(5) 結果を表示する領域

結果が表示されます。

使い方

  • (4-1) の「スタート」ボタンを押します。
  • (1-1)(1-9)(2-1)(2-4) すべてのドロップダウンリストから変数を選択します。
  • (4-2) の「実行」ボタンを押します。成功すると以下のように表示されます。
中国の剰余定理パズル(実行結果)

(4-3) の「ログ出力」ボタンを押した状態で実行すると、ログをファイルに出力します。

問題の数値を変更するときは、(3-1) のボタンで  m n を変更した後で (3-4) のボタンで  a b を変更するか、(3-2)(3-3)(3-5)(3-6) のテキストボックスを変更してください。