Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.07.2013, 21:17
Новичок на форуме
Отправить личное сообщение для JS&PHP Посмотреть профиль Найти все сообщения от JS&PHP
 
Регистрация: 13.07.2013
Сообщений: 9

Рекурсивная функция
function factorial(x){
  if (x == 1)
    return 1;  
  document.write(x + " Hello<br>");  
  return x * factorial(x-1);// return x - factorial(x-1);
}


Когда стоит умножение или сума все нормально, но когда стоит минус никак не могу понять как выполняется выражение!

Если *:
n * (n-1) * (n-2) * ... * 1

Какая формула при отнимании и делении в таком случая?
Ответить с цитированием
  #2 (permalink)  
Старый 13.07.2013, 21:34
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Каком еще делении?
Ответить с цитированием
  #3 (permalink)  
Старый 13.07.2013, 21:46
Новичок на форуме
Отправить личное сообщение для JS&PHP Посмотреть профиль Найти все сообщения от JS&PHP
 
Регистрация: 13.07.2013
Сообщений: 9

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

JS&PHP,
вариант
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
</head>

<body>
<script>
function factorial(a) {
    var b = 0,
        c = a;
    return function d() {
    if (1 == a || b > a - 2) return c;
        b++;
        c *= a - b;
        document.write(a + " " + (a - b) + " " + c + " Hello<br>");
        return d()
    }()
};
document.write(factorial(9))
</script>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 14.07.2013, 00:37
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Дзен-трансгуманист
о рекурсивных примерах с числами фибоначчи я вообще молчу
легче понимать в разы
Ответить с цитированием
  #6 (permalink)  
Старый 14.07.2013, 10:33
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Дзен-трансгуманист
вот никогда не понимал, почему некоторые люди считают факториалы через хвостовую рекурсию...
Чисто функциональный подход, наиболее полно и понятно выражающий математические функции.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция и несуществующий id Ankh Элементы интерфейса 4 10.02.2012 23:49
функция не успевает Sadist_dead Элементы интерфейса 22 02.10.2011 19:00
Где вызывается функция? cradis Общие вопросы Javascript 5 23.04.2011 13:47
Рекурсивная функция HellBells Общие вопросы Javascript 3 23.11.2009 11:23
Как узнать, завершила ли свою работу рекурсивная функция Ajax Общие вопросы Javascript 4 13.05.2009 14:50