java递归算法的简单示例
来源:互联网 发布:淘宝摄影师接单平台 编辑:程序博客网 时间:2024/05/06 19:40
java递归算法的简单示例
今天参加笔试,要求用递归实现1+3+5+7......
没写出来,蛋疼。。。。下面复习一下,自己尝试着写还是没有写出来。。。。。
没有写出来的关键是自己不知道该如何实现求和、实现出口
递归实现的关键是:
1.出口的设计
2.递推的向出口逼近
下面是代码:
public class Recursion { public static int f(int n){ if(n==1){ return 1; } return n+f(n-2); } public static int main (String[] args){ System.out.println(f(7)); } }
上段代码比较重要的是:
if(n==1){ return 1;} ---这段代码设计了程序递归的出口,当n == 1时,进入if条件,通过return关键字的作用结束整个程序的运行,从而达到作为程序出口的目的。这里是个难点。此处的if(n==0)可以修改为if(n < 0),因为同样可以结束程序的运行。
实现的第二个重要部分是:return n + f(n-2) 这里不仅实现了向出口的逼近而且还实现了功能。
所以,对于此处的思维逻辑要求比较高,在实现上面的代码,可能下面实现的阶乘就比较好理解了:
public class Test{ public static void main(String [] args){ System.out.println(f(5)); } public static int f(int n){ if(n == 1){ return 1; } return n*f(n - 1); } }
0 0
- java递归算法的简单示例
- C/C++:递归的一个简单示例
- Java的递归算法
- Java的递归算法
- Java的递归算法
- Java的递归算法
- JAVA的递归算法
- Java的递归算法
- 简单的数组递归算法
- 一个简单的递归算法
- 递归算法的简单应用
- 递归算法的简单总结
- 递归算法示例
- 递归算法示例
- 递归算法示例
- java 解析xml 递归算法 简单实用
- java递归算法示例,单参数,多参数
- 递归的java简单实现
- oracle创建database links语句
- 微博开篇
- PL/SQL Developer 远程连接Oracle数据库
- Axis2和Axis1.x对比
- 二叉树的递归与非递归
- java递归算法的简单示例
- RSA算法
- Android DatagramSocket error message: EADDRINUSE (Address already in use)
- python 单元测试(assert 或者 unittest.TestCase)
- css两行文字超出显示省略号
- asm基础—— vs下使用汇编
- keil5自带uc/os-ii的一个问题
- linux内核follow_link分析
- Onvif开发server和client