English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste programa, você aprenderá a usar funções recursivas em Kotlin para encontrar e exibir o fatorial de um número.
O fatorial de um número positivo n é dado pela seguinte expressão:
fatorial de n (n!) = 1 * 2 * 3 * 4 * ... * n
O fatorial de números negativos não existe. O fatorial de 0 é1.
Neste exemplo, você aprenderá a usar recursão para encontrar o fatorial de um número. Acesse esta página para saber como encontrar o fatorial de um número usando loop. Fatorial.
fun main(args: Array<String>) { val num = 6 val factorial = multiplyNumbers(num) println("$num fatorial = $factorial") } fun multiplyNumbers(num: Int): Long { if (num >= 1) return num * multiplyNumbers(num - 1) else return 1 }
Quando o programa é executado, a saída é:
6 fatorial de 720
Inicialmente, chama-se multiplyNumbers() a partir da função main() e com6foi passado como parâmetro.
porque6maior ou igual a1, então6multiplicou o resultado de multiplyNumbers(), onde foi passado5 (num -1) porque é chamado da mesma função, então é uma chamada recursiva.
Em cada chamada recursiva, o valor do parâmetro num é reduzido1, até que num seja menor que1。Quando o valor de num é menor que1Neste caso, não há chamadas recursivas.
Cada chamada recursiva retorna para nós:
6 * 5 * 4 * 3 * 2 * 1 * 1 (para 0) = 720
Aqui está o código Java equivalente:Programa Java para encontrar fatorial usando recursão