Programa Kotlin para encontrar o fatorial de um número

Neste programa, você aprenderá a encontrar o fatorial de um número usando o loop for e while no Kotlin. Você também aprenderá a usar intervalos para resolver esse problema.

O fatorial de um número positivo n é dado por:

 fatorial de n (n!) = 1 * 2 * 3 * 4 * … * n 

Exemplo 1: Encontre o fatorial de um número usando o loop for

 fun main(args: Array) ( val num = 10 var factorial: Long = 1 for (i in 1… num) ( // factorial = factorial * i; factorial *= i.toLong() ) println("Factorial of $num = $factorial") )

Quando você executa o programa, a saída será:

 Fatorial de 10 = 3628800

Neste programa, usamos o loop for para percorrer todos os números entre 1 e o número dado num (10), e o produto de cada número até num é armazenado em um fatorial de variável.

Ao contrário do Java, no Kotlin, você pode usar intervalos ( 1… num) e operador in para percorrer os números entre 1 e num

Além disso, usamos long em vez de int para armazenar grandes resultados de fatorial.

No entanto, ainda não é grande o suficiente para armazenar o valor de números maiores (digamos 100). Para resultados que não podem ser armazenados em uma variável longa, usamos a BigIntegervariável declarada na java.mathbiblioteca.

Aqui está o código Java equivalente: Programa Java para localizar o fatorial de um número.

Exemplo 2: Encontre o fatorial de um número usando BigInteger

 import java.math.BigInteger fun main(args: Array) ( val num = 30 var factorial = BigInteger.ONE for (i in 1… num) ( // factorial = factorial * i; factorial = factorial.multiply(BigInteger.valueOf(num.toLong())) ) println("Factorial of $num = $factorial") )

Quando você executa o programa, a saída será:

 Fatorial de 30 = 205891132094649000000000000000000000000000000

Aqui, em vez de long, usamos BigIntegerfatorial de variável.

Uma vez que, *não pode ser usado com BigInteger, em vez disso usamos multiply()para o produto. Além disso, num deve ser convertido para BigIntegerpara multiplicação.

Da mesma forma, também podemos usar um loop while para resolver esse problema.

Exemplo 3: Encontre o fatorial de um número usando o loop while

 fun main(args: Array) ( val num = 5 var i = 1 var factorial: Long = 1 while (i <= num) ( factorial *= i.toLong() i++ ) println("Factorial of $num = $factorial") )

Quando você executa o programa, a saída será:

 Fatorial de 5 = 120

No programa acima, ao contrário de um loop for, temos que incrementar o valor de i dentro do corpo do loop.

Embora ambos os programas sejam tecnicamente corretos, é melhor usar o loop for neste caso. É porque o número da iteração (até num) é conhecido.

Visite esta página para aprender a encontrar o fatorial de um número usando recursão.

Artigos interessantes...