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

Vor_tex 24.06.2016 13:06

Помогите решить задачу!
 
Помогите или хотя бы подскажите возможно ли реализовать на javascript решение следующей задачи?
Суть задачи:
а1 = 100;
a2 = a1 * 1.3 + 300 * (2-1);
an = a(n-1) * 1.3 + 300 * (n-1);

Как посчитать n-й член?
в MS Excel я сделал, а на javascript знаний не хватает...

рони 24.06.2016 14:00

Vor_tex,
<script>
  function a(n,x,k)
  {
     x = x * 1.3 + 300 * ++k;
     n--;
     return  n <= 1 ? x : a(n,x,k)

  } ;
for (var i=2; i<10; i++)  {document.write(i + " = " +a(i,100,0 )+ "<br>")}
  </script>

Vor_tex 24.06.2016 14:19

рони, спасибо огромное.

Vor_tex 24.06.2016 19:08

рони, я извиняюсь за наглость, а не подскажите как вывести первый член, чтобы он равнялся 100, а то он равен второму!
И еще бы подскажите как вы вести сумму всех предыдущих членов на заданном промежутке, а то у меня не то что нужно показывает...
<script>
  function a(n,x,k)
  {
     x += x * 1.3 + 300 * ++k;
     n--;
     return  n <= 1 ? x : a(n,x,k)

  } ;
for (var i=10; i<=10; i++)  {document.write(i + " = " +a(i,100,0 )+ "<br>")}
</script>

рони 24.06.2016 20:29

Vor_tex,
<script>
  function a(n,x)
  {

     for (var i = 0; i< n; ){
        x = x * 1.3 + 300 * ++i;
     }
     return  x

  } ;
for (var i=0; i<10; i++)  {document.write(i + " = " +a(i,100)+ "<br>")}
  </script>

рони 24.06.2016 20:37

Vor_tex,
<script>
  function a(n,x)
  {
     var sum = x;
     for (var i = 0; i < n; ){
        x = x * 1.3 + 300 * ++i;
        sum += x
     }
     return  [n,x,sum]

  } ;
for (var i=0; i<10; i++)  {document.write(a(i,100).join(" ")+ "<br>")}
  </script>

destus 24.06.2016 20:59

рони,
Так я и не понял зачем считать одни и те же значения по 10-20-30 раз. По-моему через эту штуку https://github.com/medikoo/memoizee/...ster/README.md код будет производительнее раз в 100 :)

рони 24.06.2016 21:26

destus,
за ссылку конечно спасибо, но что там мне не понять, и
Цитата:

Сообщение от destus
зачем считать одни и те же значения по 10-20-30 раз

это я тоже не понял.

рони 24.06.2016 21:30

Цитата:

Сообщение от destus
10-20-30 раз

если ты про строку 12 пост 6 , она только для тестирования.

destus 24.06.2016 21:37

рони,
Идея в том, что раз nый член считается по n-1ому, то эти значения можно закешировать и не считать заного. А так в твоем коде 6 строка выполняется много раз, причем считает одни и те же значения для a(1, 100) a(2, 100) и тд


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