2016年8月29日月曜日

開発環境

Pythonからはじめる数学入門 (Amit Saha (著)、黒川 利明 (翻訳)、オライリージャパン)の5章(集合と確率を操作する)、3.9(プログラミングチャレンジ)、問題5-3(お金がなくなるまで何回硬貨を投げられるか)をJavaScript(とstatistics.js)で取り組んでみる。

問題5-3(お金がなくなるまで何回硬貨を投げられるか)

コード(Emacs)

HTML5

<label for="amount0">
  Enter your starting amount: 
</label>
<input id="amount0" type="number" min="0" step="1" value="10">
<div id="output0"></div>

<script src="sample3.js"></script>

JavaScript

(function () {
    'use strict';
    var input_amount = document.querySelector('#amount0'),
        div_output = document.querySelector('#output0'),
        trials,
        toss;

    toss = function () {
        return Math.random() < 0.5 ? 0 : 1;
    };

    trials = function () {
        var amount = parseInt(input_amount.value, 10),
            head = 1,
            tail = -1.5,
            output = '',
            count = 0;

        for (; amount > 0;) {
            count += 1;
            if (toss() === 0) {
                amount += head;
                output += 'Heads! Current amount: ' + amount + '<br>';
            } else {
                amount += tail;
                output += 'Tails! Current amount: ' + amount + '<br>';
            }
        }
        output +=
            'Game over :( Current amount: ' + amount +
            '. Coin tosses: ' + count;
        div_output.innerHTML = output;
    };

    input_amount.onchange = trials;

    trials();
}());

0 コメント:

コメントを投稿