2017年4月13日木曜日

開発環境

The Art of Computer Programming Volume 1 Fundamental Algorithms Third Edition 日本語版(Donald E. Knuth (著)、青木 孝 (著)、筧 一彦 (著)、鈴木 健一 (著)、長尾 高弘 (著)、有澤 誠 (その他)、和田 英一 (その他)、ドワンゴ)の第1章(基礎概念)、1.2(数学的な基礎)、演習問題4を取り組んでみる。


  1. ϕ= 5 +1 2 F 1 =1 2 5 +1 = ϕ 1 = ϕ 12 F 2 =11= ϕ 0 = ϕ 22 F n+1 = F n1 + F n ϕ n3 + ϕ n2 = ϕ n3 ( 1+ϕ ) = ϕ n3 · ϕ 2 = ϕ n1 = ϕ ( n+1 )2

コード(Emacs)

HTML5

n = <input id="n0" type="number" min="0" step="1" value="100">
<br>
<button id="run0">run</button>
<button id="clear0">clear</button>
<pre id="output0"></pre>

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

JavaScript

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

let goldenRatio = (1 + Math.sqrt(5)) / 2;

let fibnacci = (n) => {
    let a = 0;
    let b = 1;
    for (i = 2; i <= n; i += 1) {
        b = a + b;
        a = b - a;
    }
    return b;
};

let output = () => {
    let n = parseInt(input0.value, 10);

    p(`n, φ^{n-2}, fibonacci(n), φ^{n-1}, φ^{n-2} <= fibonacci(n) <= φ^{n-1}`);
    for (let i = 0; i <= n; i += 1) {
        let x = Math.pow(goldenRatio, i - 2),
            y = fibnacci(i),
            z = Math.pow(goldenRatio, i - 1);
        p(`${i}, ${x}, ${y}, ${z}: ${x <= y && y <= z}`);
    }
};
    

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

output();
n =













						

0 コメント:

コメントを投稿