for循环数序列(1,1,2,2,3,3等)

Tom*_*Tom 4 javascript math loops for-loop

我查了一下,这个模式是Hofstadter女性序列.方程是:

M(n)= nF(M(n-1))

F(n)= nM(F(n-1))

但我不知道如何将其纳入代码.

到目前为止,我有:

while () {
    _p++
    _r++
    if (_p % 2 === 0) {
        _r = _p - 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

Mat*_*att 5

没有备忘录:

function F(n)
{
    return 0 < n ? n - M(F(n-1)) : 1
}

function M(n)
{
    return 0 < n ? n - F(M(n-1)) : 0
}

var N = 10;
var f = [];
var m = [];
for (var i = 0; i <= N; ++i) {
    f.push(F(i));
    m.push(M(i));
}

console.log('F: ' + f.join(','))
console.log('M: ' + m.join(','))
Run Code Online (Sandbox Code Playgroud)

输出:

F: 1,1,2,2,3,3,4,5,5,6,6
M: 0,0,1,2,2,3,4,4,5,6,6
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/KtGBg/1/