TOY VOX

管理人VOX6336が昭和レトロな遊びをするだけのブログです。スマートフォンでの閲覧推奨。

数当て 18

2020-08-07 07:26:00 | プログラミング初心者(プチコン3号)
プレイヤーは最初、4つの答えになる数字を決める。この数字を
A1,A2,A3,A4 とする。
コンピューターは4つの数字を考える。この数字を
N1,N2,N3,N4 とする。
A1〜A4がN1〜N4と一致するには、平均5040回かかる。

4つの数字がそれぞれ0〜9の数字であるかもしれない状態を1とし、ない状態を0とする。
初期設定で配列変数S1[0〜9],S2[],S3[],S4[]を1と設定する。
【プログラム】




判定でブル=0だった場合、そこはその数字でないことが分かるから、その配列には0をいれてやる。たとえば「9876」でブル=0だった場合、S1[9]=0,S2[8]=0,S3[7]=0,S4[6]=0 といった具合に。

判定でブル=0、カウ=0だった場合、その4つの数字はどこにも使われていないことが分かる。S1からS4までのその配列はすべて0にしてしまおう。
【プログラム】


コンピューターが4つの数字N1〜N4を考えるとき、S1〜S4のその配列が0である場合、もう一度考えなおす。

ではこれで実験。正解するまでに19回かかった。
【実行画面】


もう一度。今度は11回目で正解した。
【実行画面】


人間だったらもっと早く当てられるのに。何が足りないんだろう。



コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

数当て 17

2020-08-07 05:41:49 | プログラミング初心者(プチコン3号)
思考ルーチンを作る前に、以下3点を改造。

1.数字の入力を4ケタで入れやすくする。
2.カウンターを付けて、何回で正解したか分かるようにする。
3.自動でブルとカウを判定する。

【実行画面】


動作確認、OK。だいぶ見やすくなった。

現時点では4つの数字(0〜9のうち)をランダムに設定しているだけで、数字の組み合わせは10×9×8×7=5040通りあるので、当たる確率は1÷5040=0.0002である。

何回で当たるか、実際にやってみた。
【実行画面】



5004回目に正解。
では、ヒントをもとに、正解へ近づけていこう。




コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする