Vou postar aqui o código em C para fazer o calculo do fatorial de qualquer numero inteiro.
Primeiro de forma iterativa:
#include <stdio.h>
int fatorial () ;
int main()
{
fatorial();
system("PAUSE");
return 0;
}
int fatorial ()
{
int a, i;
int fat=1;
printf("Insira um numero inteiro: ");
scanf("%d",& a);
for(i=1;i<=a;i++) fat = fat * i;
printf("Fatorial de %d = %d\n",a, fat);
}
Agora usando recursividade:
#include <stdio.h>
long fatorial ( int n );
int main()
{
int a;
printf("Informe um numero inteiro: ");
scanf("%d",&a);
printf("Fatorial de %d = %d\n", a, fatorial(a));
system("PAUSE");
return 0 ;
}
long fatorial ( int n )
{
if ( n == 0 ) return 1;
else return n * fatorial (n - 1);
}
Quando coloco o número 89 o fatorial é dito como zero. Porque isso acontece?
ResponderExcluir