题目1:斐波那契数列
一列数的规则如下: 1、1、2、3、5、8、13、21、34… 求第30位数是多少, 用递归算法实现。
public static int getFabonacciSequenceByNum(int num){
//exit
if(num ==1||num ==2){
return 1;
}
//logic
return getFabonacciSequenceByNum(num-2)+getFabonacciSequenceByNum(num-1);
}
题目2:回文判断
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
//从0开始
public static boolean isHuiWen(String str,int index){
//exit
if(index>str.length()/2-1){
return true;
}
if(str.charAt(index) == str.charAt(str.length()-1-index)){
return isHuiWen(str,index+1);
}else {
return false;
}
}
题目3: 华为上机题
分解成质因数(如435234=251*17*17*3*2)
public static void dividePrimeToFactors(int num , int factor){
//exit
if(factor>num){
return;
}
while((factor
factor++;
}
System.out.print(factor+" ");
num = num/factor;
dividePrimeToFactors(num,factor);
}