public class Fact {
//求n!階層問題
public static int fact(int num) {
if (num == 0)
return 1;
else
return num * fact(num - 1);
}
// 使用遞迴演算法求得元素中的最大數
public static int findMaxNumber(int arr[], int low, int high) {
int max;
if (low == high) {
return arr[low];
} else {
max = findMaxNumber(arr, low + 1, high);
if (arr[low] > max)
return arr[low];
else
return max;
}
}
// 使用遞迴演算法求得元素中的最小數
public static int findMinNumber(int arr[], int low, int high) {
// 判斷元素個數如果是一個的時候:
int min;
if (low == high)
return arr[low];
else {
min = findMinNumber(arr, low + 1, high);
if (arr[low] < min) {
return arr[low];
} else
return min;
}
}
public static void main(String[] args) {
//int arr[] = { 5, 55, 2, 10, 9, 4 };
//System.out.println(findMinNumber(arr, 0, 5));
//int arr[] = { 5, 55, 2, 10, 9, 4 };
//System.out.println(findMaxNumber(arr, 0, 5));
//System.out.println(fact(16));
}
}