我抬头看,这个图案是霍夫施塔特女性序列。等式为:
M(n)= nF(M(n-1))
F(n)= nM(F(n-1))
但我不确定如何将其放入代码中。
到目前为止,我有:
while () {
_p++
_r++
if (_p % 2 === 0) {
_r = _p - 1;
}
}
有什么帮助吗?
没有备注:
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(','))
输出:
F: 1,1,2,2,3,3,4,5,5,6,6
M: 0,0,1,2,2,3,4,4,5,6,6
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句