手机
当前位置:查字典教程网 >编程开发 >C语言 >c++ 判断奇数偶数实例介绍
c++ 判断奇数偶数实例介绍
摘要:到目前为止,看到的递归函数都是直接调用自己。虽然大多数的递归函数都符合这一形式,但其实递归的定义更为广泛,如果某个函数被细分成了几个子函数,...

到目前为止,看到的递归函数都是直接调用自己。虽然大多数的递归函数都符合这一形式,但其实递归的定义更为广泛,如果某个函数被细分成了几个子函数,那么可以在更深的嵌套层次上应用递归调用。例如:如果函数 f 调用函数 g ,而函数 g 反过来又调用函数 f ,这些函数的调用仍然被看作是递归。这种类型的递归被成为交互递归

下面通过判断一个数是偶数还是奇数来展示交互递归的应用,并且此题突出了递归跳跃的信任的重要性首先,先看奇数和偶数的描述:

如果一个数的前一个数是奇数,那么该数是偶数

一个树不是偶数就是奇数

定义0是偶数

递归跳跃的信任

从代码可以看出,代码的实现是完全基于上面奇数和偶数的描述的三点。初看,这是多么的不可思议。如果想要探索其底层是如何实现的,也只需用一个较少的数字代入,跟踪调用验证就OK

如单纯地从表面看,单凭 “定义0是偶数” 这个简单情景真的没法看出这递归竟然能正确工作。所以,对于没法一下子就能看出的这种情况,我们需要的就是递归跳跃的信任,只要我们递归分解正确和简单情景分析正确,实现细节就不必去担心,交给计算机。也因此,只要掌握了递归的思维,解决一个问题是多么简单和快捷,多么令人震惊

复制代码 代码如下:

#include <iostream>

using namespace std;

bool isodd(unsigned);

bool isodd(unsigned n)

{

return !(iseven(n));

}

bool iseven(unsigned n)

{

if (n == 0)

{

return true;

}

else

{

return isodd(n-1);

}

}

int main()

{

cout << isodd(11) << endl;

return 0;

}

【c++ 判断奇数偶数实例介绍】相关文章:

VC实现图片拖拽及动画的实例

C++实现:螺旋矩阵的实例代码

如何通过函数指针调用函数(实现代码)

打印菱形以及斐波纳契数列的几种解法介绍

方阵顺时针旋转的实现代码

C++流操作之fstream用法介绍

C++继承介绍

关于C++中的友元函数的一些总结

浅析c/c++中函数的参数传递

C++函数重载的深入解析

精品推荐
分类导航