но возвращает undefined?
let count = 0;
function nbYear(p0, percent, aug, p) {
count++;
const res = p0 + p0 * (percent / 100) + aug;
if ( res >= p) {
console.log(count)
return count;
}
nbYear(p0 = res, percent, aug, p)
}
nbYear(1500, 5, 100, 5000);
Потому что коряво написана рекурсия
почему ты наплодил переменные в рекурсии?
Почему-то подумал что это правильно, заменить значение p0 за одно. Ну я уже переписал чуть по другому, все заработало. А можно было типа: p0=res; nbYear()? Это с кодварс если что задачки.
да я про то что это типичная задача на инкремент, в функциональных языках создавать переменные плохой тон, если рекурсия это часть фп то лучше придерживаться этому
примерно так 1 + nbYear((p0*=percent/100+1) + aug, percent, aug, p) выглядит инкремент
Да, с рекурсией надо бы разобраться по лучше, я на самом деле применяю её... ну наверно второй раз за всю не большую практику)))
напиши фибоначчи и факториал рекурсией
Вот про манипуляции с числами Фибоначчи то же читал что не плохо было бы разобраться, типа стандартная задачка на логику.
А что на выходе должно быть? Просто индексы это ж числа от 0 до кол-во элементов массива
Обсуждают сегодня