一、递归函数,通俗的说就是函数本身自己调用自己...

如:n!=n(n-1)!

你定义函数f(n)=nf(n-1)

而f(n-1)又是这个定义的函数。。这就是递归

二、为什么要用递归:递归的目的是简化程序设计,使程序易读

三、递归的弊端:尽管非递归函数效率高,但较难编程,可读性较差。递归函数的缺点是添加�了系统开销,也就是说,每递归一次,栈内存就多占用一截

四、递归的条件:需有完毕任务的语句,需满足递归的要求(减小而不是发散)

五、递归进阶:

1.用递归算n的阶乘:

分析:n!=n*(n-1)*(n-2)...*1

public int dReturn(int n){

if(n==1){

return 1;

}else{

return n*dReturn(n-1);

}

}

2.用递归函数算出1到n的累加:1+2+3+4+..+n

public int dReturn(int n){

if(n==1){

return 1;

}else{

return n+dReturn(n-1);

}

}

3.要求输出一个序列:1,1,2,3,5,8,11......(每个数为前两个数子之和,要求用递归函数)

用java递归来表示一个函数:F(n)=F(n-1)+F(n-2);F(0)=1;F(1)=1;

分析:X1=1; X2=1; X3=X1+X2; X4=X2+X3; ... ; Xn=X(n-1)+X(n-2)

public int F(int n){

if(n==1){

return 1;

}else if(n==2){

return 1;

}else{

return F(n-1)+F(n-2);

}

}

4.java用递归方法反向打印一个整数数组中的各个元素

public static void  printAll(int index,int[] arr){

System.out.println(arr[index]);

if(index > 0){

printAll(--index,arr);

}

}

public static void main(String[] args){

int[] arr={1,2,3,4,5};

printAll(arr.lenth-1,arr);

}

5.编程求解:若一头小母牛,从出生起第四个年头開始每年生一头母牛,按次规律,第 n 年时有多少头母牛?

public static int cattle(int n){

if(n<=0){

return 0;

}else if(n<=3){

return 1;

}else{

return cattle(n-1)+cattle(n-3);

}

}

public static void main(String[] args){

int n=10;

System.out.println(n+"年后共同拥有"+cattle(n)+"头牛");

}

递归、线性递归、尾递归的概念?

递归函数java_java 递归函数相关推荐

  1. java 递归函数_Java递归函数.....

    1 .递归函数的定义: 答:递归函数即自调用函数,在函数体内直接或间接的调用自己,即函数的嵌套是函数本身. 2 .递归方式:递归调用有直接递归和间接递归两种方式. A :直接递归:在函数中出现调用函数 ...

  2. python静态递归函数_python—递归函数

    递归函数 定义:即在函数定义中自己调用自己 递归就是在过程或函数中自我调用 递归必须有递归出口,即递归结束条件 举个栗子-阶乘: def fact(n): if n == 1: return 1 re ...

  3. python静态递归函数_Python递归函数

    参考: 一.递归函数两大要素 --终止条件和递归方程 1.递归方程,即递归调用的方法 递归通俗的说就是在函数内部自己调用自己,如何调用就是递归方程. 以以下的sum(n)求和函数递归实现方式为例,递归 ...

  4. java 递归函数_java 递归函数

    一.递归函数,通俗的说就是函数本身自己调用自己... 如:n!=n(n-1)! 你定义函数f(n)=nf(n-1) 而f(n-1)又是这个定义的函数..这就是递归 二.为什么要用递归:递归的目的是简化 ...

  5. python基础梳理(十三)递归函数、递归函数写法以及练习

    一.函数递归 recursion 什么是递归: 函数直接或者间接的调用自身 示例:直接调用自身------死递归 def f():f() f() print("递归完成") 执行结 ...

  6. python编写递归函数_Python递归函数如何写?正确的Python递归函数用法!

    在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 一.举个例子,我们来计算阶乘n! = 1 x 2 x 3 x - x n,用函数fact(n)表示,可以看出: f ...

  7. 递归函数和预处理学习总结

    递归学习心得: 递归即是该函数调用它本身自己,这种调用过程称为递归. 递归可以相当于循环,所以想结束递归,就必须有终止递归的条件测试部分,否则就会出现无限递归(即无限循环). 递归就是某过程以某种方式 ...

  8. python递归函数讲解_Python递归函数实例讲解

    Python递归函数实例 1.打开Python开发工具IDLE,新建'递归.py'文件,并写代码如下: def digui(n): if n == 0 : print ('') return prin ...

  9. Python3学习笔记(2)——递归函数

    如果一个函数在内部调用自身本身,这个函数就是递归函数. 递归函数的优点是定义简单,逻辑清晰.理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰. 使用递归函数需要注意防止栈溢出.在计 ...

最新文章

  1. 在ubuntu 14.04 64bit上安装酷我音乐盒Linux客户端kwplayer
  2. C#字符串处理(String与StringBuilder)
  3. 岗位推荐 | 百度招聘计算机视觉、深度学习算法工程师(可实习)
  4. UVA 1210 Sum of Consecutive Prime Numbers
  5. 作业 20180925-1 每周例行报告
  6. Centos7安装SVN+HTTP
  7. Base64编码的原理与常用实现
  8. 测试工作中常用在线小工具-初级篇
  9. Excel 在某一列中寻找最大值并加粗
  10. linux服务上实现web在线编辑,利用 ONLYOFFICE 将在线文档编辑器集成到 Python Web 应用程序中 | Linux 中国...
  11. TDP158RSBR 6-Gbps 转接驱动器,兼容HDMI2.0
  12. 基于PHP的学生作业管理系统
  13. Python爬虫进阶之某支付网站密码分析
  14. 如何用c语言计算三角形面积
  15. 好用的免费代理池搭建
  16. 自学人工智能编程难吗?
  17. 现如今软件测试还有前景吗?
  18. Windows_U盘_SD卡_硬盘等存储介质无法完成格式化
  19. 推荐系统评价:NDCG方法概述
  20. qimage 像素 替换颜色_米8精简版拥有24MP前置摄像头与使用超级像素技术索尼IMX576传感器...

热门文章

  1. oppo申请鸿蒙系统,OPPO公关:拒绝华为鸿蒙系统!理由却是这样的
  2. 香港云服务器1核2核是什么意思?
  3. Excel中拼接文本字符串-CONCATENATE函数
  4. 《Java软件开发综合实训》实训大纲
  5. 十五首硬摇滚的柔情之作
  6. 国内主流报表软件比较分析(2014最新版)
  7. 谷歌浏览器扩展程序报错 The message port closed before a response was received.
  8. 一行代码学会C语言(手动狗头)
  9. python:Flask中request对象的简单用法
  10. 联诚发祝你端午安康幸福美满