Recursividade: mudanças entre as edições
De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
(Criou página com '=Recursividade= '''Recursividade''' é o ato de uma função chamar a si mesma. Uma função que calcule o '''fatorial''' de um número inteiro '''n''' (simbolizado por '''...') |
|||
Linha 1: | Linha 1: | ||
=Recursividade= | =Recursividade= | ||
'''Recursividade''' é o ato de uma função chamar a si mesma. | '''Recursividade''' é o ato de uma função chamar a si mesma<ref>http://pt.wikipedia.org/wiki/Recursividade</ref>. | ||
Uma função que calcule o '''fatorial''' de um número inteiro '''n''' (simbolizado por '''n!''') é um bom exemplo de uma função recursiva. | Uma função que calcule o '''fatorial''' de um número inteiro '''n''' (simbolizado por '''n!''') é um bom exemplo de uma função recursiva. | ||
Linha 24: | Linha 24: | ||
<source lang="c"> | <source lang="c"> | ||
#include <stdio.h> | #include <stdio.h> | ||
int | int fatorial(int n) | ||
{ | { | ||
if (n) | if (n) | ||
return n* | return n*fatorial(n-1) | ||
else return 1; | else return 1; | ||
} | |||
int main() | |||
{ | |||
int a; | |||
printf("\nEntre com um valor inteiro :"); | |||
scanf("%d",&a); | |||
printf("O fatorial de %d é %d\n\n",a,fatorial(a)); | |||
return(0); | |||
} | } | ||
</source> | </source> | ||
Edição das 19h48min de 22 de outubro de 2014
Recursividade
Recursividade é o ato de uma função chamar a si mesma[1].
Uma função que calcule o fatorial de um número inteiro n (simbolizado por n!) é um bom exemplo de uma função recursiva.
Por exemplo:
5! = 5 . 4 . 3 . 2 . 1 = 120 4! = 4 . 3 . 2 . 1 = 24 3! = 3 . 2 . 1 = 6 2! = 2 . 1 = 2 1! = 1 0! = 1
Desta forma, posso expressar:
5! = 5 . 4! 4! = 4 . 3! 3! = 3 . 2! 2! = 2 . 1
Note que, nos exemplos acima, que:
n! = n . (n - 1)!
- Função em C para calcular o fatorial de um número inteiro n
#include <stdio.h>
int fatorial(int n)
{
if (n)
return n*fatorial(n-1)
else return 1;
}
int main()
{
int a;
printf("\nEntre com um valor inteiro :");
scanf("%d",&a);
printf("O fatorial de %d é %d\n\n",a,fatorial(a));
return(0);
}
Referências
--Evandro.cantu (discussão) 17h44min de 22 de outubro de 2014 (BRST)