学習環境/開発環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- 数式入力ソフト(TeX, MathML): MathType
- MathML対応ブラウザ: Firefox、Safari
- MathML非対応ブラウザ(Internet Explorer, Google Chrome...)用JavaScript Library: MathJax
- macOS Sierra - Apple (OS)
- Emacs (Text Editor)
- JavaScript (プログラミング言語)
- Safari(Web browser)
- 参考書籍
- JavaScript 第6版 (David Flanagan(著)、村上 列(翻訳)、オライリージャパン)
- JavaScriptリファレンス 第6版(David Flanagan(著)、木下 哲也(翻訳)、オライリージャパン)
代数系入門 (松坂 和夫(著)、岩波書店)の第1章(整数)、3(最大公約数)、問題2.を取り組んでみる。
問題2.
JavaScript で確認。
HTML5
<label for="numbers0">numbers: </label>
<input id="numbers0" type="text" value="5796,7935">
<div id="output0"></div>
<script src="sample2.js"></script>
JavaScript
コード(Emacs)
(() => {
'use strict';
var input_numbers = document.querySelector('#numbers0'),
div_output = document.querySelector('#output0'),
gcd,
euclid,
output;
gcd = (x, y) => {
var a = Math.max(x, y),
b = Math.min(x, y),
r;
r = a % b;
for (; r !== 0; ) {
a = b;;
b = r;
r = a % b;
}
return b;
};
output = () => {
var text = input_numbers.value,
numbers,
answer;
numbers = text.split(',').map((x) => parseInt(x.trim(), 10));
answer = numbers.reduce((a, b) => gcd(a, b), numbers[0]);
div_output.innerText = `(${text}) = ${answer}`;
};
input_numbers.onchange = output;
output();
})();
0 コメント:
コメントを投稿