Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите решить задачу! (https://javascript.ru/forum/misc/63706-pomogite-reshit-zadachu.html)

рони 24.06.2016 21:42

destus,
алгорим понятен, но ТС не указал частоту использования, и кешировать как-то затратно получается.

destus 24.06.2016 21:44

рони,
Ок

рони 24.06.2016 22:43

кеширование промежуточных результатов вычисления
 
destus,
:write: вариант с кешированием ... если вычислялось n = 10, а потом n = 3 , то результат для n = 3 не будет вычислятся, а вернётся из кеша.
<script>
var a = function() {
    var c = {};
    return function(f, b) {
        !c[b] && (c[b] = {
            i: 0,
            0: [b, b]
        });
        for (var d = c[b].i, g = c[b][d][1], e = c[b][d][0]; d < f;) e = 1.3 * e + 300 * ++d, g += e, c[b][d] = [e, g], c[b].i = d;
        return c[b][f]
    }
}();
for (var i=0; i<10; i++)  {document.write(i + " " +a(i,100).join(" ")+ "<br>")}
  </script>

Vor_tex 24.06.2016 23:45

Спасибо всем ребята! Вы меня очень выручили!

destus 25.06.2016 06:10

рони,
Все таки любишь ты изобретать велосипеды :)


Часовой пояс GMT +3, время: 14:16.