【C语言】递归实现。
来源:互联网 发布:linux服务器增加硬盘 编辑:程序博客网 时间:2024/04/30 15:06
(一)厄密多项式Hn(x) 的递归实现
#include <stdio.h>int hermite(int n,int x){ if(n<=0) { return 1; } else if(n==1) { return 2*x; } else { return 2*x*hermite(n-1,x)-2*(n-1)*hermite(n-2,x); } return 0;}int main (){ printf("%d\n",hermite(3,2)); return 0;}
(二)n的k次幂的递归实现
#include <stdio.h>#include <math.h>double cimi(double n,double k){ if(k==0) { return 1; } else if(k>0) { return cimi(n,k-1)*n; } else { return cimi(n,k+1)*pow(n,-1); } return 0;}int main (){ printf("%f\n",cimi(2,-3)); return 0;}
(三)函数DigitSum(n)的递归实现
–例如DigitSum(1729),对应返回1+7+2+9之和19。
#include <stdio.h>int DigitSum(n){ int sum = 0; int tmp = n/10; if(n != 0) { sum = DigitSum(tmp)+n%10; } return sum;}int main (){ printf("%d\n",DigitSum(1729)); return 0;}
if(n != 0)保证1729除10到最后得到的1能够进入if里求和。
(四)字符反向排列递归实现
函数原型:reverse(char *string)
实现:将参数字符串中的字符反向排列
要求:不能使用C函数库中的字符串操作函数
#include <stdio.h>#include <string.h>void reverse(char *string){ int len = strlen(string); if(len <= 1) { return; } else { int tmp = string[0]; string[0] = string[len-1]; string[len-1] = '\0'; reverse(string+1); string[len-1] = tmp; }}int main (){ char a[] = "bit-tech"; reverse(a); printf("%s\n",a); return 0;}
0 0
- 【C语言】递归实现。
- C语言实现-递归
- 汉诺塔递归的c语言实现(递归)
- C语言实现递归算法
- 全排列 递归实现 c 语言实现
- c语言递归实现的通配符搜索
- 八皇后 C语言递归实现
- 归并排序递归实现C语言
- 归并排序非递归实现C语言
- C语言实现:函数的递归调用
- C语言递归实现二叉链表
- C语言通过递归实现反向计算
- c语言递归实现字符串反转
- 算法思考--------汉诺塔c语言实现-------递归
- C语言实现 递归法求最大公约数
- c语言利用递归实现二分查找
- 归并排序 递归法 C语言 实现
- 递归实现出入排序(C语言)
- MYSQL explain详解
- UVa10603 - Fill
- JQuery设置CSS
- RDD 宽依赖 , 和窄依赖
- 搜索--HDU简单DFS
- 【C语言】递归实现。
- 那些年接入Google程序内购买遇到的坑
- Ext.form.FieldSet字段集
- MySQL索引背后的数据结构及算法原理
- 分布式系统互斥算法---分布式算法
- 软件下载 itellyou
- Hbase安装过程中遇到的问题
- leetcodeBinary Tree Inorder Traversal
- [leetcode][list] Swap Nodes in Pairs