English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico do C

Controle de Fluxo do C

Função no C

Array no C

Ponteiro no C

String no C

Estruturas do C

Arquivos do C

C Outro

Manual de Referência do C

C Programas usando recursão para calcular o fatorial de um número

大全 de Programação no C

Neste exemplo, você aprenderá a encontrar o fatorial de um inteiro não negativo introduzido pelo usuário usando recursão.

Para entender este exemplo, você deve entender o seguinteProgramação em CTema:

O fatorial de um número positivo n é dado pela seguinte fórmula:

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 comoUso do laço para calcular o fatorial de um número.

Uso do fatorial recursivo

#include <stdio.h>
long int multiplyNumbers(int n);
int main() {
    int n;
    printf("Insira um número inteiro positivo: ");
    scanf("%d", &n);
    printf("%d fatorial = %ld", n, multiplyNumbers(n));
    return 0;
}
long int multiplyNumbers(int n) {
    if (n >=1)
        return n*multiplyNumbers(n-1);
    else
        return 1;
}

Resultados de saída

Insira um número inteiro positivo: 6
6 fatorial = 720

Supondo que o usuário tenha digitado6.

Inicialmente, chama multipleNumbers() a partir de main() e passa6como parâmetro.

então, será passado como5passado para multipleNumbers() (chamada recursiva). Em cada chamada recursiva, o valor do parâmetro n é1.

Quando o valor de n é menor que1Sem chamadas recursivas e o fatorial é devolvido ao main() função no final.

大全 de Programação no C