Qualquer problema que possa ser resolvido por recursão pode ser convertido em iterativo (loop)
. Vantagens da recursão : tornar o programa mais claro e conciso. Por meio da recursão, funções mais poderosas podem ser alcançadas com menos código
. Desvantagens da recursão: quando o número de aumenta as recursões, consome muito tempo e memória
Calcular recursivamente o fatorial de 0 ~ 8
#include <iostream>
using namespace std;
long factorial(int num)
{
if(num==0)
return 1;
else
return num*factorial(num-1);
}
int main()
{
int i;
for(i=0; i<9; i++)
cout << i << "的阶乘:" << factorial(i) << endl;
return 0;
}
Calcule o fatorial de 0 ~ 8 em um loop
#include <iostream>
using namespace std;
long factorial(int num)
{
int i, result=1;
if(num==0)
return 1;
for(i=num; i>=1; i--)
result*=i;
return result;
}
int main()
{
int i;
for(i=0; i<9; i++)
cout << i << "的阶乘:" << factorial(i) << endl;
return 0;
}