<1>题目介绍1
递归求斐波那契数列的第N项
<2>思路分析
斐波那契数列为:0、1、1、2、3、5、8...观察可以发现从第三项开始,每一项为前两项的和,所以只需要从第三项开始num = fibo(n-1)+fibo(n-2)即可,递归出口就是当n等于1或者n等于2时,返回1。
<3>代码展示
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个数:");
int num = scan.nextInt();
System.out.println(fibo(num));
}
public static int fibo(int num){
if(num==1||num==2){
return 1;
}else{
return fibo(num-1)+fibo(num-2);
}
}
<4>结果展示
<1>题目介绍2
按顺序打印一个数字的每一位(列如1234打印出1 2 3 4)(递归)
<2>思路分析
我们得到数字的每一位很简单,只需要模10、除10即可,但是要顺序打印,就需要将除10的动作放在前面,模10的动作放在后面
<3>代码展示
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = scan.nextInt();
print(num);
}
public static void print(int num){
if(num/10>0){
print(num/10);
}
System.out.print(num%10+" ");
}
<4>结果展示
<1>题目介绍3
递归求1+2+3...+10
<2>思路分析
只需要按着顺序计算即可,递归的出口就是当n等于1的时候返回1
<3>代码展示
public static void main(String[] args) {
System.out.println(fac(10));
}
public static int fac(int num){
if(num==1){
return 1;
}
return num+fac(num-1);
}
<4>结果展示