gpt4 book ai didi

javascript - 获取递归过程的每个返回值

转载 作者:行者123 更新时间:2023-12-01 00:01:10 29 4
gpt4 key购买 nike

我想在递归期间将递归函数的返回值分配给变量。我正在尝试实现递归随机数生成器,并且我想在程序停止之前保存该过程返回的每个值。不知道怎么办。

function rand(seed, m, inc, mod)
{
if(seed === 0)
return 2;
else
return (m * rand(seed-1, m, inc, m) + inc) % mod;
}

最佳答案

您将需要一些存储桶来存储值。

function rand(depth, m, inc, mod, bucket=[]) {
let nextStep = 2;

if(depth !== 0) {
nextStep = (m * rand(depth-1, m, inc, m, bucket) + inc) % mod;
}

bucket.push(nextStep);
return bucket;
}

// somewhere else
const generatedRandomValues = rand(a, b, c, d);
const randomValue = generatedRandomValues[-1];

ps。考虑使用中间变量使代码的意图更加清晰(就像讲故事一样)

关于javascript - 获取递归过程的每个返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60725256/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com