以下微型遞歸的運行環境是: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());
}
}
}