Recapitulação - Fatorial
Parte da seção Fundamentos do Journey de Swift da Coddy — lição 47 de 86.
Hora de colocar suas habilidades de loop à prova! O fatorial é um problema de programação clássico que é perfeito para praticar loops.
O fatorial de um número n (escrito como n!) é o produto de todos os números inteiros positivos de 1 a n. Por exemplo:
5!= 5 × 4 × 3 × 2 × 1 = 1203!= 3 × 2 × 1 = 61!= 1
Para calcular um fatorial com um loop, você começa com um resultado de 1 e o multiplica por cada número no intervalo:
var result = 1
let n = 5
for i in 1...n {
result *= i
}
print(result) // Saída: 120O loop multiplica result por 1, depois 2, depois 3, e assim por diante até chegar a n. Cada iteração se baseia no resultado anterior.
Desafio
FácilEscreva uma função factorial que recebe n e retorna o fatorial desse número.
Use um loop para multiplicar todos os números inteiros positivos de 1 até n.
Parâmetros:
n(Int): Um número inteiro positivo (1 ou maior)
Retornos: O fatorial de n (Int)
Por exemplo, se n for 4, a função calcula 1 × 2 × 3 × 4 = 24 e retorna 24.
Folha de consulta
O fatorial de um número n (escrito como n!) é o produto de todos os números inteiros positivos de 1 a n:
5!= 5 × 4 × 3 × 2 × 1 = 1203!= 3 × 2 × 1 = 61!= 1
Para calcular um fatorial com um loop, comece com um resultado de 1 e multiplique-o por cada número no intervalo:
var result = 1
let n = 5
for i in 1...n {
result *= i
}
print(result) // Saída: 120Experimente você mesmo
func factorial(n: Int) -> Int {
// Escreva o código aqui
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtribuição CompostaRecapitulação - Matemática SimplesOperadores de Comparação7IO Básico
Função PrintInterpolação de StringsEntrada ReadLineConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso10Funções
Declarar uma FunçãoParâmetros e ArgumentosValores de RetornoRótulos de ArgumentosRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeratedIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de TipoNúmerosStringBooleanosConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operador Ternário8Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada11FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz3Opcionais
O que são OpcionaisDesembrulhando com If LetGuard LetOperador de Coalescência NulaRecapitulação - Desembrulho Seguro6Tomada de Decisão
Estrutura IfIf - ElseRecapitulação - Calculadora SimplesEstrutura SwitchSwitch com Intervalos9Loops
Loop For-InLoop WhileLoop Repeat-WhileBreakContinueRecapitulação - FatorialIntervalos em LoopsLoop AninhadoRecapitulação - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRecapitulação - Lista de ProdutosRecapitulação - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa