Cálculo de Fatorial usando Loop

Publicado por Diego Araujo Frota 19/07/2008

[ Hits: 10.142 ]

Homepage: http://diegoafrota.googlepages.com

Download cfatorial.c




É possível ter fatorial para números reais maiores que zero e menores que zero, e não apenas para números inteiros positivos. Na verdade, é uma generalização, chamada de Função Gama.

Entretanto, usualmente só necessitamos dos fatoriais de números inteiros, para calculá-lo.

  



Esconder código-fonte

cfatorial.c ------------------------------------------------
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int fatorial()
{
int j,i,N,F;

printf("Qual fatorial desejas calcular?\n");
scanf("%d",&N);
printf("O fatorial desejado é:\n");

for (j=0;j<=1;j++)
F=1;
for (i=0;i<=N-1;i++)
{
F=F*(N-i);
}
printf("%d!=%d\n",N,F);
}

int main()
{
fatorial();
}
-----------------------------------------------------
Para compilar em unix:
gcc cfatorial.c

Para executar:
./a.out

Scripts recomendados

CPU e memória em C no GNU/Linux

Comando switch

Um pouco de fisica

Par ou ímpar

Jogo da Velha contra o Computador.


  

Comentários
[1] Comentário enviado por removido em 20/07/2008 - 03:44h

Olá Diego,

E o que faremos quando o resultado do cálculo do fatorial estourar os limites de armazenamento do tipo inteiro? Isso vai até, chuto eu, o fatorial de 11 ou 12.

Abraço,

Piero

[2] Comentário enviado por octopos em 14/11/2008 - 17:48h

Deve-se usar uma forma iterada e variaveis do tipo unsigned int , que duplica o valor a ser representado.

[3] Comentário enviado por g_s.lima em 28/04/2010 - 10:36h

Três coisas:

- Poderia usar long int, unsigned long int, unsigned long long int, por exemplo;

- As bibliotecas stdlib.h e time.h não são necessárias nesse script;

- int fatorial() poderia ser void, pois não retorna nenhum valor;

Script legal, fatorial é útil para muitas coisas.. Abrço


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts