2016年9月14日水曜日

開発環境

アルゴリズムパズル(Anany Levitin (著)、Maria Levitin (著)、黒川 洋 (翻訳)、松崎 公紀 (翻訳)、オライリージャパン)の初級パズル、43.(数の配置(Number Placement))をJavaScriptで。

コード(Emacs)

HTML5

<div id="output0"></div>
<br>
<label for="nums0">異なる整数の数: </label>
<input id="nums0" type="number" step="1" value="10">
<script src="array.js"></script>
<script src="sample43.js"></script>

JavaScript

(function () {
    'use strict';
    var inequalities = ['<', '>'],
        div_output = document.querySelector('#output0'),
        input_num = document.querySelector('#nums0'),
        output;

    output = function () {
        var n = parseInt(input_num.value, 10),
            nums = Array.range(n),
            inequalities0,
            result = [];

        
        inequalities0 = Array.range(n - 1).map(function () {
            return inequalities.random();
        });
        inequalities0.forEach(function (inequality) {
            if (inequality === '<') {
                result.push(nums.shift());
            } else {
                result.push(nums.pop());
            }
            result.push(inequality);
        });
        result.push(nums.pop());
        div_output.innerText = result.join(' ');
    };

    input_num.onchange = output;

    output();
}());

0 コメント:

コメントを投稿