Java 递归 斐伯那挈数列 第N项
递归函数之JAVA演绎
递归函数之JAVA演绎
1、递归函数的定义:
答:递归函数即自调用函数,在函数体内直接或间接的调用自己,即函数的嵌套是函数本身。
2、递归方式:递归调用有直接递归和间接递归两种方式。
A:直接递归:在函数中出现调用函数本身。
示例1:下面代码求斐波那契数列第n项,斐波那契数列第一和第二项是1,后面每一项是前两项之和,即1、1、2、3、5、8、13 ...。
程序代码:
public class Test {
public static void main(String args[]) {
int x1 = 1;
int sum = 0;
int n = 7;
for (int i = 1; i <= n; i++) {
x1 = func(i);
sum = sum + x1;
}
System.out.println("sum=" + sum);
}
public static int func(int x) {
if (x > 2)
return (func(x - 1) + func(x - 2));
else
return 1;
}
}
B:间接递归:指函数中调用了其他函数,而该其他函数有调用了本函数。
示例2:用间接递归来计算上述斐波那契数列。
程序代码:
public class Test {
public static void main(String args[]) {
int x1 = 1;
int sum = 0;
int n = 7;
for (int i = 1; i <= n; i++) {
x1 = func1(i);
sum = sum + x1;
}
System.out.println("sum=" + sum);
}
public static int func1(int a){
int b;
b=func2(a);
return b;
}
public static int func2(int b) 
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
在处理监测数据实时录入时,需要提供当前班次信息{大白班,小夜班,大夜班},班次信息是根据给定时间段进行设定类似{{"8:00","16:00"},{"16:00","00:00"},{"00:00","8:00"}}
处理办法
· 取当前时间、转换验证起始、结束时间进行比较。
相关代码
/**
* 时间段测试
......
一下是java实现的有一个归并排序,自己发现自己的基础功太差了,所以最近开始学习算法,好好的联系每一算法,各位大神不要见笑,写的有错的地方希望能够指出来谢谢哈:
package sort;
import java.util.Date;
import java.util.Random;
/*
* 归并排序
*/
public class MergeSort {
public static void main(Stri ......
冒泡排序是一种很流行很简单的排序算法,它重复的交换相邻两个反序元素。
import java.util.Date;
import java.util.Random;
public class BubbleSort {
public static void main(String args[])
{
int len = 40;
Date date = new Date();
Random random = new Random(date.getSeconds());
int data[]=n ......
inner class和outer class之间的reflection应用。
package com.gaoqian.reflection;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
class IncludeInn ......