Какова последовательность согласованности рекурсивной функции? - PullRequest
0 голосов
/ 06 октября 2019

Я обнаружил несогласованность в примерах рекурсивной функции, поэтому мне нужна помощь в разъяснении ее работы.

Эта рекурсивная функция имеет значение аргумента x, которое должно быть возвращено вместе с функцией fracrec. Этот fracrec умножается на исходное значение x. Значение этого является тем, что дает скобка х-1. Он повторяется до тех пор, пока не выйдет в точке x == 0. Это означает, что часть x и '*' возврата - это «формула» и то, что используется для каждого раунда.

facrec <- function(x){
  if(x==0){
    return(1)
  } else {
    return(x*facrec(x-1))  
  }
}

Теперь возьмите следующий инет ничего похожего на x и ''. Поэтому я смотрю на это по-другому, поскольку myfibrec (5) выдает «5». Принятие абсолютного значения первого прохода было бы 4 + 3 и уже превысило 5 с еще большим количеством проходов. Не существует формулы, которую можно использовать, поэтому я с трудом понимаю, как возникла пятерка. В приведенном выше примере я использовал формулу 'x' и '', что я признаю ее странной и, вероятно, неправильной.

myfibrec <- function(n) {
  if(n==1||n==2){
    return(1)
  }else{
    return(myfibrec(n-1)+myfibrec(n-2))
  }
}

В еще одной, ниже она обрабатывает значение варгумент как формула. Это дает 2,3,4,5,6,7,8,9,10.

function Count (integer N)
    if (N <= 0) return "Must be a positive integer";
    if (N >9 ) return "counting completed";
    else return Count (N+1);
end function

Откуда все формулы или математические вычисления, полученные в этих рекурсивных функциях?

1 Ответ

0 голосов
/ 06 октября 2019

для 'facrec' google "factorial '

для' myfibrec 'google" Fibonacci "

последний, похоже, код Java, а не R

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...