LINUX.ORG.RU

История изменений

Исправление vertexua, (текущая версия) :

Кстати, во многих языках указывать явно параметры функции при вызове, а так же есть ключевое слово where. Все это псевдокод, но все же

f = 1
m = n
while (m != 1){
  f = f*m
  m = m-1
}
cycle(f = 1, m = n) 
where cycle(f, m) = 
  if (m != 1) cycle(
   f = f*m, 
   m = m-1
  ) else f

Вообще какой-то лол, очень видно совпадение. Но конечно предыдущий вариант рекурсии короче и все равно понятный

Исправление vertexua, :

Кстати, во многих языках указывать явно параметры функции при вызове, а так же есть ключевое слово where. Все это псевдокод, но все же

f = 1
m = n
while (m != 1){
  f = f*m
  m = m-1
}
cycle(f = 1, m = n) 
where cycle(f, m) = 
  if (m != 1) cycle(
   f = f*m, 
   m = m-1
  ) else f

Вообще какой-то лол

Исправление vertexua, :

Кстати, во многих языках можно для читабельности указывать явно параметры функции при вызове, а так же есть ключевое слово where. Все это псевдокод, но все же

f = 1
m = n
while (m != 1){
  f = f*m
  m = m-1
}
cycle(f = 1, m = n) 
where cycle(f, m) = 
  if (m != 1) cycle(
   f = f*m, 
   m = m-1
  ) else f

Вообще какой-то лол

Исходная версия vertexua, :

Кстати, во многих языках можно для читабельности указывать явно параметры функции при вызове, а так же есть ключевое слово where. Все это псевдокод, но все же

f = 1
m = n
while (m != 1){
  f = f*m
  m = m-1
}
cycle(f = 1, m = n) 
where cycle(f, m) = 
  if (m != 1) cycle(
   f = f*m, 
   m = m-1
  ) else f


Вообще какой-то лол