/* * SOLUCAO 1: calcula 1*2*3...*n, nessa ordem. * * Pergunta: * Use o programa para calcular 5! depois 10! depois 15! ... * Aconteceu de estranho? */ #include <stdio.h> int main() { int n, /* guarda o numero dado */ contador, fatorial; printf("\n\tCalculo do fatorial de um numero\n"); printf("\nDigite um inteiro nao-negativo: "); scanf("%d", &n); /* inicializacoes */ fatorial = 1; contador = 2; while (contador <= n) { fatorial = fatorial * contador; contador = contador + 1; } printf("O valor de %d!: %d\n", n, fatorial); return 0; } /* * SOLUCAO 2: usa o comando for e calcula 1*2*3*...*(n-1)*n * nessa ordem. */ #include <stdio.h> int main() { int n, /* guarda o numero dado */ i, nfat; printf("\n\tCalculo do fatorial de um numero\n"); printf("\nDigite um inteiro nao-negativo: "); scanf("%d", &n); /* inicializacoes */ nfat = 1; for (i = 2; i <= n; i++) { /* as chave sao superfluas */ nfat = nfat * i; } printf("O valor de %d!= %d\n", n, nfat); return 0; } /* * SOLUCAO 3: usa o comando for e calcula 1*n*(n-1)*(n-2)...*2, * nessa ordem. */ #include <stdio.h> int main() { int n, /* guarda o numero dado */ i, nfat; printf("\n\tCalculo do fatorial de um numero\n"); printf("\nDigite um inteiro nao-negativo: "); scanf("%d", &n); /* inicializacoes */ nfat = 1; for (i = n; i > 1; i--) { /* as chave sao superfluas */ nfat = nfat * i; } printf("O valor de %d!= %d\n", n, nfat); return 0; }