Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.06.2014, 22:05
Интересующийся
Отправить личное сообщение для mariaanina Посмотреть профиль Найти все сообщения от mariaanina
 
Регистрация: 03.05.2014
Сообщений: 11

Сумма чисел фиббоначи без использования функций и массивов.
Друзья, прошу помочи. Задача следующая - нужно найти сумму чисел Фиббоначи в промежутке от 1 до 1000 без использования функций и массивов, а так же библиотек джиквери. Нужно все сделать циклом. Функцией получилось, но как циклом это сделать? Подмогните, друзья.

function fibonacci(n)
{
if (n < 3) {
if (n == 0) {
return 0;
}
return 1;
}
else {
return fibonacci(n-1) + fibonacci(n-2);
}
}

for (n = 0; n <= 40; n++) {
console.log(fibonacci(n));
}
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2014, 23:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 31,060

mariaanina,

for (var a = 1, b = 1, sum = 0; b < 1000;)  {
     sum += b;
     var temp = b ;
     b = a + b;
     a = temp;

}
alert(sum)
Ответить с цитированием
  #3 (permalink)  
Старый 02.06.2014, 23:27
Интересующийся
Отправить личное сообщение для mariaanina Посмотреть профиль Найти все сообщения от mariaanina
 
Регистрация: 03.05.2014
Сообщений: 11

Рони! Расцеловала бы Вас Но у меня вопросик, смотрите, цикл for записывается как for (переменная(ые);условие;инк емент ), икремент тут, понятно, отсутствует, переменная "sum" - это, как я поняла, 0 значение отсчета, т.е. нуль, переменная "b" - это второе значение (т.к. идет 0, 1, 1, 2, 3, 5, 8 ) Далее мы переписываем переменную sum как b + b , получается, что в нее записалась 2 уже , т.к. идет 1+ 1, в переменную темп мы перезаписываем цифру 1 , в единицу снова 1 и получаем 2. Я не могу уловить вот какой момент, как цикл распознает сумму предыдущих 2х чисел, не могу уловить логику. Описала как могла выразиться...
Ответить с цитированием
  #4 (permalink)  
Старый 03.06.2014, 07:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 31,060

mariaanina,
мне проще написать код чем коментировать ... может кто пояснит ...
Сообщение от mariaanina
цикл распознает сумму предыдущих 2х чисел
так вот же строка 4 ... a хранило предыдущее значение в b создали новое ....эээ...
Ответить с цитированием
  #5 (permalink)  
Старый 03.06.2014, 16:22
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

числа Фибоначчи начинаются с нуля по идее. в скрипте рони "a" должно быть ровно "0" в начале цикла.
a - F(n-2)
b - F(n-1)
чтобы не терялась "a" рони ее записывает в переменную temp.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Существует ли плагин на подобие fancybox без использования jquery protexon jQuery 1 01.06.2014 18:33
slidetoggle без использования jquery Aligatro Общие вопросы Javascript 12 18.02.2014 19:37
Почему можно использовать id элемента без использования getElementById? grifangel Общие вопросы Javascript 3 08.01.2014 20:20
Сумма вещественных чисел vaskon Общие вопросы Javascript 4 14.02.2013 09:02