递归recursive

  1. 递归recursive
    1. 定义:一种直接或间接引用自身的定义方法。一个合法的递归包括两部分:基础情况和递归部分。
    1. 斐波那契数列

long Fib(long n)

{

if(n<=1) return n;

else return Fib(n-2)+Fib(n-1);

}

函数Fib(n)中又调用了Fib(n-1)和Fib(n-2)。这种在函数体内调用自己的做法成为递归调用,包含递归调用的函数成为递归函数。

    1. 递归算法实例

例1-2 逆序输出正整数的各位数

设有正整数n=12345,现希望以各位数的逆序形式输出,即54321.设k位正整数为d1d2...dk为了以逆序形式输出各位数dkdk-1...d1,可以分为两步:

  1. 首先输出末位数dk;
  2. 然后输出由前k-1位组成的正整数d1d2...dk-1的逆序形式。

程序代码:

#include<iostream.h>

void PrintDigit(unsigned int n)

{

cout<<n%10;//输出最后一位数

if(n>=10) PrintDigit(n/10);、、以逆序输出前k-1位数

}

void main()

{

unsigned int n;

cin>>n;

PringDigit(n);

}

猜你喜欢

转载自blog.csdn.net/qq_32539403/article/details/82594053