[英]Sequences and JavaScript
我嘗試編碼這個序列:
M(0) = 1,
M(1) = 1,
M(2) = 2,
M(2t) = M(t) + M(t + 1) + t (for t > 1),
M(2t + 1) = M(t - 1) + M(t) + 1 (for t >= 1)
所以這是我的嘗試(但仍然是錯誤的):我不知道如何區分 2t 和 2t +1
function seq(num)
{
var num1=1;
var num2=1;var num3=2
var sum1;var sum2;
var i=0;
if (num>=1){
for (i = 0; i < num; i++) {
sum2=num1+num2+1;
num1=num2;
num2=sum2; } }
if (num>1){
for (i = 0; i < num; i++)
{
sum1=num1+num2+num;
num1=num2;
num2=sum1;
}}
return num2;
}
document.write("seq(1): "+seq(1)+"<br>");```
據我了解,您有 4 種情況:
在第一種情況下,我們返回 1,在第二種情況下,我們返回 2,在其他情況下,我們需要使用不同的參數 (t, t + 1, t - 1) 重新調用相同的 function
function seq(num) {
if(num < 2) {return 1; }
if(num === 2) {return 2; }
if(num % 2 === 1) {
const t = (num - 1) / 1;
return seq(t - 1) + seq(t) + 1;
}
const t = num / 2;
return seq(t) + seq(t + 1) + t;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.