以下微型递归的运行环境是:windowsXP、eclipse3.5、jdk1.6
递归在大数据量下会出现--------栈溢出或者内存不足
在java、web等等的项目中,递归用的很频繁,下面就写几个简单的递归,希望能帮到大家,欢迎大家评论,相互探讨。
微型递归一:
//获取1到n的所有整数之和。
private static long f(int n){
if(n ==1) return 1;
return n+f(n-1) ;
}
微型递归二:
//计算1,2,3,4,5...100的总和
public static int suma(int num){
int result=0;
if(num==2)return 3;
if(num>2){
result=suma(num-1)+num;
}
return result;
}
微型递归三:
//计算1,1,2,3,5,8...前n项数的总和
public static int recursionSum(int num){
int result=0;
if(num==1)return 1;
if(num==2)return 2;
if(num>2){
result=recursionSum(num-1)+recursion(num);
}
return result;
}
微型递归四:
//计算1,1,2,3,5,8....的第几个数是多大
public static int recursion(int num){
int result=1;
if(num==1||num==2)return result;
if(num>2){
result=recursion(num-2)+recursion(num-1);
}
return result;
}
微型递归五:
//输出该目录下的所有文件的路径名称
public static void file(File file){
File [] files=file.listFiles();//将文件夹下的文件和子文件夹路径放入到files中
for(File filesub:files){//循环获取每个路径的文件或者文件夹
if(filesub.isDirectory()){//如果是目录则继续调用自身的方法
file(filesub);
} else if(filesub.isFile()){//如果是文件,则输出文件的路径
System.out.println(filesub.getPath());
}
}
}