Показать сообщение отдельно
  #13 (permalink)  
Старый 24.06.2016, 22:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

кеширование промежуточных результатов вычисления
destus,
вариант с кешированием ... если вычислялось 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>
Ответить с цитированием