Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.06.2016, 13:06
Интересующийся
Отправить личное сообщение для Vor_tex Посмотреть профиль Найти все сообщения от Vor_tex
 
Регистрация: 08.04.2015
Сообщений: 23

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

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

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

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>
Ответить с цитированием
  #3 (permalink)  
Старый 24.06.2016, 14:19
Интересующийся
Отправить личное сообщение для Vor_tex Посмотреть профиль Найти все сообщения от Vor_tex
 
Регистрация: 08.04.2015
Сообщений: 23

рони, спасибо огромное.
Ответить с цитированием
  #4 (permalink)  
Старый 24.06.2016, 19:08
Интересующийся
Отправить личное сообщение для Vor_tex Посмотреть профиль Найти все сообщения от Vor_tex
 
Регистрация: 08.04.2015
Сообщений: 23

рони, я извиняюсь за наглость, а не подскажите как вывести первый член, чтобы он равнялся 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>
Ответить с цитированием
  #5 (permalink)  
Старый 24.06.2016, 20:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

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>
Ответить с цитированием
  #6 (permalink)  
Старый 24.06.2016, 20:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

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>
Ответить с цитированием
  #7 (permalink)  
Старый 24.06.2016, 20:59
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

рони,
Так я и не понял зачем считать одни и те же значения по 10-20-30 раз. По-моему через эту штуку https://github.com/medikoo/memoizee/...ster/README.md код будет производительнее раз в 100
Ответить с цитированием
  #8 (permalink)  
Старый 24.06.2016, 21:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

destus,
за ссылку конечно спасибо, но что там мне не понять, и
Сообщение от destus
зачем считать одни и те же значения по 10-20-30 раз
это я тоже не понял.
Ответить с цитированием
  #9 (permalink)  
Старый 24.06.2016, 21:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от destus
10-20-30 раз
если ты про строку 12 пост 6 , она только для тестирования.
Ответить с цитированием
  #10 (permalink)  
Старый 24.06.2016, 21:37
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу! Vor_tex Общие вопросы Javascript 0 24.06.2016 13:05
Помогите решить задачу с массивами! KaTaJLonec Общие вопросы Javascript 4 02.02.2015 00:25
Пожалуйста помогите решить задачу на java alex01rus1991 Элементы интерфейса 9 27.11.2012 01:02
Помогите решить очень сложную задачу!!!) Anastasiy17 Общие вопросы Javascript 5 06.04.2012 07:15
Помогите решить задачу vkg Общие вопросы Javascript 1 20.02.2008 11:59