学習環境/開発環境
- 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.
7935=5796·1+21395796=2139·2+15182139=1518·1+6211518=621·2+276621=276·2+69276=69·4(5796,7935)=69
(39600,32670,25542,16863)=3(13200,10890,8514,5621)=33(1200,990,774,511)(1200,990)=30(40,33)40=33·1+733=7·4+57=5·1+25=2·2+12=1(1200,990)=30(30,774)=6(5,129)129=5·25+45=4·1+14=1(30,774)=6(6,511)511=6·85+16=1·6(6,511)=1(39600,32670,25542,16863)=33·1=33
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();
})();
(5796,7935) = 69
0 コメント:
コメントを投稿