2017年4月19日水曜日

開発環境

とりあえず、工夫無しの簡単な総当たりで求めてみた。

コード(Emacs)

HTML5

<button id="run0">run</button>
<button id="clear0">clear</button>
<pre id="output0"></pre>

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

JavaScript

let btn0 = document.querySelector('#run0'),
    btn1 = document.querySelector('#clear0'),
    pre0 = document.querySelector('#output0'),
    p = (x) => pre0.textContent += x + '\n';

let coins = [1, 5, 10, 50, 100, 500],
    result = [];

let output = () => {
    coins.forEach((coin) => {
        for (let price = 1; price <= 1000; price += 1) {
            coins.forEach((coin1) => {
                coins.slice(coins.indexOf(coin1))
                    .forEach((coin2) => {
                    if ((coin1 + coin2 - price === coin) &&
                        coin1 !== coin &&
                        coin2 !== coin) {
                        result.push([coin1, coin2, price, coin]);
                    }
                });
            });
        }
    });
    result.sort((x, y) => x[2] - y[2]);
    result.forEach((a) => {
        p(`${a[2]}: (${a[0]} + ${a[1]}) - ${a[2]} = ${a[3]}`);
    });
    p(`${result.length}通り`);
};

btn0.onclick = output;
btn1.onclick = () => pre0.textContent = '';

output();












						

0 コメント:

コメントを投稿