遞迴演算法(案例)
阿新 • • 發佈:2019-01-29
package MonthSep.HWday01;
/**
* 遞迴演算法
*/
public class HW03 {
// 階乘
public int recursive(int i){
int sum = 0;
if(i == 0){
return sum;
}else {
sum = i * recursive(i - 1);
}
return sum;
}
// 斐波那契數列
public long Fib(int n){
if (n == 0){
return 0;
}
if(n == 1){
return 1;
}
if(n > 1){
return Fib(n - 1) + Fib(n - 2);
}
return 0;
}
// 判定一系列字串中是否有相同的內容
public boolean fun (int n, String[] a){
boolean b = false;
if(n == a.length){
b = true ;
}else {
for(int i = n; i < a.length - 1; i++){
System.out.println(n + " " + (i + 1));
if(a[n].equals(a[i + 1])){
return false;
}
}
n++;
fun(n,a);
}
return b;
}
public static void main(String[] args) {
String[] a = {"a1","a2","a3","b3","c","b","33","33"};
boolean b = new HW03().fun(0, a);
System.out.println(b);
}
}