JAVA基础100道练习题——11递归求斐波那契数列的第N项、12按顺序打印一个数字的每一位(列如1234打印出1 2 3 4)(递归)、13递归求1+2+3...+10

<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>结果展示

 

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼吐泡泡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值