public class diGui{
public static void main(String[] args){
diGui diGuiObj = new diGui();
int result = diGui.getSum(100);
System.out.println("结果是:"+result);
int result2 = diGui.getFeiBo(9);
System.out.println("斐波那契数列:"+result2);
int result3 = diGui.getFun(10);
System.out.println("公式计算结果:"+result3);
int result4 = diGui.getFun2(10);
System.out.println("公式计算结果:"+result4);
}
// 计算从1 到 num之间的整数和
public int getSum(int num){
if(num==1){
return 1;
}else{
return getSum(num -1) + num;
}
}
// 计算斐波那契数列
// 1 1 2 3 5 8 13 21 34
// f(n) = f(n-2) + f(n-1)
public int getFeiBo(int num){
if (num == 1){
return 1;
}else if{
return 1;
}else{
return getFeiBo(num -1)+ getFeiBo(num-2);
}
}
// 已知一个数列f(20)=1,f(21)=4,f(n+2)=2*f(n+1)+f(n),n是大于0的整数,求f(10)
public int getFun(int num){
if(num==20){
return 1;
}else if(num == 21){
return 4;
}else{
return getFun(num +2) -2*getFun(num+1);
}
}
// 已知一个数列f(0)=1,f(1)=4,f(n+2)=2*f(n+1)+f(n),n是大于0的整数,求f(10)
public int getFun2(int num){
if(num==0){
return 1;
}else if(num == 1){
return 4;
}else{
return 2*getFun2(num-1)+getFun2(num-2);
}
}
}
JAVA递归练习
最新推荐文章于 2024-07-22 22:58:19 发布