您的位置:首页 > 编程语言 > Java开发

JavaSE复习日记 : 递归函数

2015-08-23 21:43 441 查看
/*
*                          递归函数
*      什么是递归?
*          在一个方法的内部,对自身进行调用,又叫做递归调用
*
*      递归和循环的编写都包括三部分:
*          1. 初始值;
*          2. 终止条件;
*          3. 前进步长;
*
*      递归解决比较常见的问题:
*          累加加的和;
*          阶乘;
*          斐波那契数列等;
*
*      可能前面两个都会有过接触,没关系,我们把三个都写一遍
*
*/

//                              累加加和

/*
*          计算1到100的和;
*/

/*
public class JavaSE{
public static void main(String[] args){
int s = sum(100);
System.out.println( s );
}
public static int sum(int a){//输出整形值100,进入判断语句,如果是1,就返回1,如果不是1,就返回:a + (a-1) + [(a-1)-1] + ...直到a - (a-1),也就是等于1的时候,返回1结束,结果相当于算的是100到1的和;
if (a==1) {
return 1;
}else{
return a + sum(a-1);//这里是调用了方法自身,让自身减一再进行判断,直到a==1为止结束
}
}
}
*/

/*
*                          阶乘
*          计算10的阶乘(这里如果想换个别的数的话最好别换太大的数,否则会出现不可预估的结果,可能会超出int的内存空间,建议用12以下的数)
*/

/*
public class JavaSE{
public static void main(String[] args){
System.out.println( factorial(10) );
}
public static int factorial(int n){
if (n==1) {
return 1;
}else{
System.out.println( n + "x" + (n-1) + "  " );
return n*factorial(n-1);
}
}
}
*/

/*
*                              斐波那契数列
*      斐波那契数列第一位和第二位的数值都是1,之后的每一位都是前两位的和;
*      计算第5位斐波那契数列的数值;
*/

public class JavaSE{
public static void main(String[] args){
System.out.println( fibIteration(5) );
}
public static long fibIteration(int index) {
if (index == 1 || index == 2) {
return 1;
}

long f1 = 1l;
long f2 = 1l;
long f = 0;

for (int i = 0; i < index-2; i++) {
f = f1 + f2;
f1 = f2;
f2 = f;
System.out.print(f2 + "+" + f1 + ",");
}
return f;
}
}


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>杰我教育WWW.JAOVO.COM<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: