写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19。
代码如下:
#include
int Digitsum(int n)
{
if(n<10)
return n;
else
return n%10+Digitsum(n/10);
}
int...
分类:
编程语言 时间:
2015-05-10 17:24:38
阅读次数:
182
编写一个函数实现n^k,使用递归实现
代码如下:
#include
int fun(int n,int k)
{
if(k==1)
return n;
else
return n*fun(n,k-1);
}
int getpower(int x,int y)
{
if (y == 1)
return x;
else
return x...
分类:
编程语言 时间:
2015-05-10 17:23:17
阅读次数:
101
问题描述:
编写递归函数,函数应该和下面的函数原型匹配:
int hermite(int n,int x)
Hermitee Polynomials(厄密多项式)是这样定义的:
n
Hn(x) = n = 1; 2x;
n >= 2; 2xHn-1(x)-2(n-1)Hn-2(x);
\
代码如下:
...
分类:
编程语言 时间:
2015-05-09 23:40:43
阅读次数:
259
首先我们先来看一个程序;我相信看完这个程序;你们可以大概了解:
/*
* 2015年5月6日13:57:22
* 目的:通过栈的数据结构来实现递归
* 深入了解递归的本质。
* 下面我分别举2个例子,就是分别用递归和栈的形式
* 来实现f(n) = 1+2+...+n自然数的相加;方法很简单,
* 主要是为了让我们了解递归的内部实现机制.
*/
/*
* 操作系统在调用递归函数是分...
分类:
其他好文 时间:
2015-05-06 17:54:54
阅读次数:
116
面向对象方法学
面向对象测试:
算法层:测试单个方法(成员函数)。方法:等价类划分、组和功能测试、递归函数测试和多态消息测试。
类层:测试单个对象类。不变式边界测试、模态类测试、非模态类测试。
模板层:测试对象集成(一组协调工作的类的相互作用)。多态服务测试和展平测试。
系统层:测试整个面向对象的系统。
UML事物(元素)
1,结构事物。类、接口、协作、用例、活动类、构件、节点。
...
分类:
其他好文 时间:
2015-05-05 23:58:05
阅读次数:
246
C++的快速排序基本思想就是,任意取出一位作为对比位x,分别从序列两端开始探测,先从右边到左找到一个比x大的数,在从左边到右找到一个比x小的数,然后交换他们,一直循环到i=j。这一次交换完毕之后,将x换到中间位置,因为左边都比它小,右边都比它大,所以它在中间。在函数最后,有一个递归函数,分别在对左边和右边进行刚才的排序,直到将元素分解到1个的时候停止,循环结束。
void quicksort(i...
分类:
编程语言 时间:
2015-05-04 22:16:10
阅读次数:
168
参照赵劼的博客《使用Lambda表达式编写递归函数》中用C#实现的为函数求出其 Y 组合子代码, 使用F#重写,并剖析算法。
分类:
其他好文 时间:
2015-05-03 20:16:40
阅读次数:
164
递归函数,也就是不断的调用自身的函数,使用递归能够比较方便的解决一些比较难使用循环解决的问题。就在这个例子中,求一个数组a[]的前n项和,也就是求a[n-1]+a[n-2]+…+a[0],那么如果一个函数sum是用来求数组前n项和的,sum定义为sum(int a[],int n),则使用递归的方式就是
a[n-1]+sum(a,n-1)。使用代码来表述可能更好一些:#include <stdio...
分类:
其他好文 时间:
2015-04-29 17:10:41
阅读次数:
129
下面的程序可以在linux2.6内核直接读写硬盘的指定扇区,也是根据网上一个朋友的做法做了修改的;有两个不是很明白的地方就是:1、bd_claim函数的使用,这个是个递归函数,像是匹配内存指针和设备,但是调用会返回错误;2、bdev = open_by_devnum(0x00800000, FMODE_READ | FMODE_WRITE); 中0x00800000数字的确认,不知从何而来:#in...
分类:
系统相关 时间:
2015-04-29 11:44:22
阅读次数:
162
前言:
有很多复杂算法都包含了递归算法,特别是关于树形数据结构遍历的情景,所以正确深入理解递归算法是很有必要的。
一、递归函数的基本概念
递归函数机制理解:调用函数的静态和动态机制理解:调用函数和被调用函数虽然是同一个静态代码,但是运行时被函数运行的栈空间独立于调用函数的栈空间,调用点不同,函数状态栈地址也不同,所以运行时调用函数和被调用函数在代码副本还是数据副本上都是完全不同的,只有通过返回值和调用点进行联系。
递归的调用形式:直接递归调用F1->F1,间接递归F1->F2->F1,很多情况下是直接递归...
分类:
其他好文 时间:
2015-04-28 09:41:27
阅读次数:
150