開発環境
- OS X El Capitan - Apple (OS)
- Emacs (Text Editor)
- JavaScript (プログラミング言語)
- D3.js (JavaScript Library)
- kjs-math-statistics
- Safari(Web browser)
- JavaScript 第6版 (David Flanagan(著)、村上 列(翻訳)、オライリージャパン)(参考書籍)
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 コメント:
コメントを投稿