【C语言】用递归函数是实现函数功能的几个例子
来源:互联网 发布:网络安全法解读—试卷 编辑:程序博客网 时间:2024/05/29 07:55
1.问题描述:写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和。例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19。
思路:这个题比较类似于求拆分整数,一个一个输出。这个题多得一步是在拆分后,将这些数字加和。当这个数字被拆分的部分小于10,就没有继续拆分的必要了,所以它的逼近条件就是是否小于10。
int DigitSum(int num){ if(num<10) return num; else return num%10 + DigitSum(num/10);}int main(){ int ret=DigitSum(1729); printf("%d\n",ret); system("pause");}
2.问题描述:用递归函数实现n^k。
思路:n的k次方计算也是递归实现的一个思路,它的逼近条件就是每次循环后的k减1,利用k来确定递归的条件。
int my_pow(int n,int k){ if(k==0) return 1; else return n*my_pow(n,k-1);}int main(){ int ret=my_pow(3,3); printf("%d\n",ret); system("pause");}
很多简单问题用递归解决都是比较容易的,但在写递归函数时一定要考虑到递归函数的逼近条件。如果没有逼近条件,程序就会一直运行,直到内存不够程序崩溃。理清楚要实现功能和递归之间的联系,从而也能方便我们写出逼近条件。
0 0
- 【C语言】用递归函数是实现函数功能的几个例子
- 递归函数的几个例子
- 递归函数的几个例子
- C语言实现:函数的递归调用
- C语言是实现函数的重载
- C语言-函数实现模块化设计-函数的递归调用
- C语言的几个函数
- C语言函数的递归
- c语言----函数的递归
- 用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回
- 用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回...
- 用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回
- 用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。
- 用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回
- 用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回
- C 语言实现函数void*memmove(void*dest,constvoid*src,size_tn)。memmove 函数的功能是拷贝
- C语言中自我递归的几个例子
- 关于递归算法的几个例子(C语言)
- 第6章 优先队列
- PyGobject(七十九)glade安装
- DFS题目
- Linux C call stack structure
- XPath学习笔记
- 【C语言】用递归函数是实现函数功能的几个例子
- 图灵测试是不是已经Out了
- javaWeb的三大组件之一Servlet
- css3动画
- 杭电-1272 小希的迷宫 (无向图回路)
- POJ-1611 The Suspects(并查集)
- java 获取当前文件(项目)路径的多种方式
- HDU 5776 sum(水~)
- 设计模式-简单工厂模式