gpt4 book ai didi

javascript - 递归挑战 - Edabit

转载 作者:行者123 更新时间:2023-12-04 09:00:26 27 4
gpt4 key购买 nike

问题要我输出字符串“Edabit”,其中“a”字符的数量等于通过函数传递的初始数字。
我尝试了不同的连接方法,但由于某种原因,“a”字符串似乎忽略了它们在连接中的位置。

function howManyTimes(num) {
let str = ''

if (num === 0){
return `Ed${str}bit`
}
else {
str += 'a'
return str += howManyTimes(num - 1)
}
}

console.assert(howManyTimes(0) == "Edbit", "1. Instead got "+howManyTimes(0));
console.assert(howManyTimes(1) == "Edabit", "2. Instead got "+howManyTimes(1));
console.assert(howManyTimes(10) == "Edaaaaaaaaaabit", "3. Instead got "+howManyTimes(10));

最佳答案

function howManyTimes(num, str) {
if (!str) str = '';

if (num > 0) {
return howManyTimes(num - 1, str + 'a');
} else {
return `Ed${str}bit`;
}
}

console.log(howManyTimes(8));

一个问题是您的递归总是将方法的结果附加到 a .而不是这样做,传递聚合的字符串,然后在到达末尾时使用。

关于javascript - 递归挑战 - Edabit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63587210/

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