利用递归解决一些问题
2017-05-16 18:33
323 查看
//利用递归解决n的阶乘问题
int Fac(int n)
{
int tmp = 1 ;
if (n==1 || n==0)
{
return 1 ;
}
tmp = n * Fac(n - 1) ;
return tmp ;
}
//利用递归解决sum求和问题
int Sum(int n)
{
int tmp = 0 ;
if (n == 0)
{
return 0;
}
tmp = n +Sum(n - 1) ;
return tmp ;
}
//利用递归解决汉诺塔问题
void Move(char x, char y)
{
printf("%c -> %c\n", x, y);
}
void Hanio(int n, char a, char b, char c)
{
if (n == 1)
{
Move(a, c);
}
else
{
Hanio(n-1 , a, c ,b);
Move(a, c);
Hanio(n-1, b, a, c);
}
}
//利用递归结局斐波纳契数列问题(其实不建议用递归)
int Fabion(int n)
{
if (n==0 || n==1)
{
return 1;
}
int tmp = Fabion(n-1) + Fabion(n-2) ;
return tmp;
}
int Fac(int n)
{
int tmp = 1 ;
if (n==1 || n==0)
{
return 1 ;
}
tmp = n * Fac(n - 1) ;
return tmp ;
}
//利用递归解决sum求和问题
int Sum(int n)
{
int tmp = 0 ;
if (n == 0)
{
return 0;
}
tmp = n +Sum(n - 1) ;
return tmp ;
}
//利用递归解决汉诺塔问题
void Move(char x, char y)
{
printf("%c -> %c\n", x, y);
}
void Hanio(int n, char a, char b, char c)
{
if (n == 1)
{
Move(a, c);
}
else
{
Hanio(n-1 , a, c ,b);
Move(a, c);
Hanio(n-1, b, a, c);
}
}
//利用递归结局斐波纳契数列问题(其实不建议用递归)
int Fabion(int n)
{
if (n==0 || n==1)
{
return 1;
}
int tmp = Fabion(n-1) + Fabion(n-2) ;
return tmp;
}
相关文章推荐
- 利用递归解决汉诺塔问题
- 利用递归下降分析解决表达式求值问题之noj35
- 利用java中for循环,递归解决机选双色球问题
- 利用WIN8自带系统还原功能还原系统,遇到的一些问题及解决思路。
- 利用List的Sort()、Find()、FindAll()、Exist()来解决一些问题
- 利用递归解决全排列问题
- 利用递归思想解决问题
- java利用递归解决八皇后问题
- dfs 递归思想 解决排列组合的一些基础问题
- 利用WIN8自带系统还原功能还原系统,遇到的一些问题及解决思路。
- c/c++ 斐波那契数列 利用模板元解决递归慢的问题
- 利用递归解决全排列问题
- 利用二进制解决一些问题
- 利用递归解决进制转换问题
- 关于eclipse下利用tomcat调试jsp的一些问题的解决记录
- 利用List的Sort()、Find()、FindAll()、Exist()来解决一些问题
- 利用递归思想解决问题
- 利用递归解决汉诺塔问题
- 利用List的Sort()、Find()、FindAll()、Exist()来解决一些问题