Buscar

Calculo do fatorial com e sem recursão em C

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Primeira forma usando sub-rotina:
#include<stdio.h>
#include<math.h>
int fatorial(int n)
{
int i,fat;
fat=n;
for (i=n-1;i>=1;i--)
{
fat = fat*i;
}
return fat;
}
int main()
{
int num,res;
printf("Digite o numero para o calculo do fatorial: \n");
scanf("%d",&num);
res = fatorial(num);
printf("\n O resultado do fatorial de %d eh %d",num,res);
}
Segunda forma usando sub-rotina:
#include<stdio.h>
#include<math.h>
int fatorial(int n)
{
int i,fat; //n = 4; fat = 4 --> return 4*3*2
fat=n; //n = 3;fat = 3 --> return 3*2
if (n<=1) //n = 2;fat = 2 --> return 2*1
{ //n =1;fat = 1 --> return 1
return fat;
}
else
{
return fat*fatorial(n-1);
}
}
int main()
{
int num,res;
printf("Digite o numero para o calculo do fatorial: \n");
scanf("%d",&num);
res = fatorial(num);
printf("\n O resultado do fatorial de %d eh %d",num,res);
}
Terceira forma usando sub-rotina (recursão):
#include<stdio.h>
#include<math.h>
int fatorial(int n)
{
int i,fat;
fat=n;
if (n > 0)
{
fat = fat*fatorial(n-1);
return fat;
}
else
{
fat = 1;
return fat;
}
}
int main()
{
int num,res;
printf("Digite o numero para o calculo do fatorial: \n");
scanf("%d",&num);
res = fatorial(num);
printf("\n O resultado do fatorial de %d eh %d",num,res);
}

Continue navegando