递归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);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值