Recursion递归

 1 /*java.lang 核心包  如 String Math Integer System Thread等  拿来直接用
 2  * java.awt 窗口工具 GUI
 3  * java.net 网络包
 4  * java.io 输入 输出
 5  * java.util 工具类  日期 日历  定义 系统特性
 6  *
 7  *
 8  */
 9 public class TestRecursion {
10
11     /**
12      * @author Administrator
13      * @version 1.0
14      *  递归
15      *  1 方法调用本身(递归体 )
16      *  2什么时候不再调用(结束条件 也叫递归头)
17      *
18      */
19     static int a=0;
20
21
22     public static void test01(){
23         a++;
24         System.out.println(a+"TestRecursion.test01()");
25         if(a<=10){
26         test01();
27         }else{
28             System.out.println("over!");
29         }
30
31     }
32     /**
33      * 阶乘 使用递归方法 实现
34      * @param n 阶乘的最大数
35      * @return 阶乘结果返回值
36      */
37
38     public static long factorial(int i){
39         if(i==1){
40             return 1;
41         }else{
42             return i*factorial(i-1);
43         }
44     }
45     public static void test03(){
46         System.out.println("TestRecursion.test03()");
47     }
48
49
50     public static void main(String[] args) {
51         test01();
52         //5!=?   120
53         long n =factorial(5);
54         System.out.println(n);
55     }
56
57 }
时间: 2024-08-05 13:02:51

Recursion递归的相关文章

Python算法:推导、递归和规约

Python算法:推导.递归和规约 注:本节中我给定下面三个重要词汇的中文翻译分别是:Induction(推导).Recursion(递归)和Reduction(规约) 本节主要介绍算法设计的三个核心知识:Induction(推导).Recursion(递归)和Reduction(规约),这是原书的重点和难点部分 正如标题所示,本节主要介绍下面三部分内容: • Reduction means transforming one problem to another. We normally red

JavaScript语言精粹4递归(汗诺塔游戏寻常解)及作用域

递归函数,就是直接或间接的调用自身的一种函数.把问题,分解成一组相似的子问题,每个问题都用一个一般的方式解决,即寻常解.即函数调用,自身,去解决自身子问题. 经典的递归案例,汗诺塔游戏 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Recursion递归</title> 6 <

MIT公开课:计算机科学及编程导论 Python 笔记4 函数分解抽象与递归

Lecture4:Decomposition and abstraction through functions:introduction to recursion 函数分解抽象与递归 Functions 函数 block up into modules 分解为模块 suppress detail 忽略细节 create "new primitives" 创建原语的思考方式 w3school Python函数 #example code for finding square roots

16 Python 递归例题

递归 1.什么是递归 recursion 递归 - 递归的定义--在一个函数里再调用这个函数本身 在一个函数里再调用这个函数本身,这种魔性的使用函数的方式就叫做递归. 递归的最大深度--997 一个函数在内部调用自己 递归的层数在python里是有限制的 997/998层 2.层数可以修改 sys模块 1 import sys #python限制在997/998 2 sys.setrecursionlimit(10000000) #可以修改 3 COUNT = 0 4 def func(): #

python_factorial_tail recursion

目录 一.Create New Project 1.1 the rules of name 二.hugeng007_01_tail recursion 2.1 Conventional Recursive Factorial 三.The Unknown Word 一.Create New Project 1.1 the rules of name hugeng007_xx(number)_name 二.hugeng007_01_tail recursion 2.1 Conventional Re

[EA]入门教程

一.简介 生命周期软件设计方案--Enterprise Architect是以目标为导向的软件系统.它覆盖了系统开发的整个周期,除了开发类模型之外,还包括事务进程分析,使用案例需求,动态模型,组件和布局,系统管理,非功能需求,用户界面设计,测试和维护等.为整个团队提供高级的UML 2.0建模工具. EA为用户提供一个高性能.直观的工作界面,联合UML 2.0最新规范,为桌面电脑工作人员.开发和应用团队打造先进的软件建模方案.该产品不仅特性丰富,而且性价比极高,可以用来配备您的整个工作团队,包括分

【转】编程词汇

很实用的编程英语词库,共收录一千五百余条词汇. 第一部分: application 应用程式 应用.应用程序 application framework 应用程式框架.应用框架 应用程序框架 architecture 架构.系统架构 体系结构 argument 引数(传给函式的值).叁见 parameter 叁数.实质叁数.实叁.自变量 array 阵列 数组 arrow operator arrow(箭头)运算子 箭头操作符 assembly 装配件 assembly language 组合语

Linux服务及安全管理第八周作业【Linux微职位】

1.详细描述一次加密通讯的过程,结合图示最佳. 一次完整的加密通讯过程如下: 通讯的双方需要事先协商好单向加密算法,并交换各自的公钥 发送端加密过程 1.发送端先用单向加密算法计算出数据的特征码 2.发送端用自己的私钥加密特征码,生成数字签名,并将该数字签名附加在数据之后 3.发送端生成一个临时对称密钥,并使用该对称密钥加密整段数据(数据+数字签名) 4.发送端获取接收端的公钥,使用该公钥加密之前生成的临时对称密钥,并附加其在对称秘钥加密后的数据之后 5.将以上数据发送给对方 接收端解密过程 1

读书笔记--《java语言程序设计--基础篇》

一.概述:    这是读的第一本英文原版的专业书籍,总的来说,因为自己也有一些基础,读起来并不是非常的费劲.前半部分主要是介绍java的相关语法,正好借着这样的机会巩固了一下自己的码代码的能力,基本上把书中的代码都打了一遍,前面的部分主要是用的notepad++来写的,notepad++ 也有代码提示功能,用起来还是挺不错的,但是用cmd 来编译,连接,javac 然后java 执行,似乎很容易出现编码格式方面的问题.后半部分主要是利用Myeclipse来写的,也尝试了一下 intelliJ i