Differences between revisions 4 and 5
Revision 4 as of 2018-10-18 07:00:09
Size: 1784
Comment:
Revision 5 as of 2018-10-28 15:21:21
Size: 1806
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
[ <<Action(edit)>> ]

[ edit ]

  • この課題のヒント
    • 基本的には,「Xが入力されるまで,入力を受け付けることを繰り返す」ことになります.
      • そのループに先立って,乱数で0~99の範囲で,正解となる整数を決めます.
      • ループの中では,利用者が入力した数値と,正解との大小比較をします.
        • 正解と入力した数値が等しければ,利用者の勝ちです.
        • 利用者があきらめて,Xを入力すれば,コンピュータの勝ちです.
        • さもなくば,入力した数値が,正解よりも大きい(high)か,小さい(low)かを判断してヒントを表示します.
          • いわゆる,ハイ&ローゲームです.
      • 普通は,あてずっぽうではなくて,二分探索で攻めてきますよね.
        • つまり...
          • 0~99の範囲なので,まずは,真ん中の50を入力してみます.
            • その結果で,候補を半分に,限ることができます.
              • 「大きすぎる」というヒントが得られたら,0~49の範囲に正解があるので,また,その真ん中である24か25くらいを入力してみましょうか.
              • 「小さすぎる」というヒントが得られたら,51~99の範囲に正解があるので,また,その真ん中である74か75くらいを入力してみましょうか.
            • これを繰り返していくと,効率よく候補の範囲を絞り込んでいけそうです

SoftEng: Python/Prog/Practice/Extended/02/EP_005a/Hints (last edited 2018-10-28 15:21:21 by TadashiIijima)