zoukankan      html  css  js  c++  java
  • 十三 、递归的java实现

    任务一、递归初体验:

    1.打印hello

    2.递归实现循环

    源代码:

    public class TasteRecursion
    {
    public static void display() //循环打印hello,Beauty
    {
    System.out.println("hello,Beauty!");
    display();
    }

    public static void cycle(int n)
    {
    if(n == 0)
    return;
    else
    {
    System.out.println(n);
    n--;
    cycle(n);
    }
    }


    public static void main(String[] args) {
    //TasteRecursion.display();
    TasteRecursion.cycle(5);
    }
    }

    实现效果图:

    任务二:打印数字三角形

    原理图:

    源代码(包括一般的循环实现和递归实现):

    public class Triangle {

    public static void cycleSolve(int n) //一般循环实现
    {
    int total =0;
    for(int i=1;i<=n;i++)
    {
    total =total+i;
    }
    System.out.println(total);
    }

    public static int recursionSolve(int n) //递归实现三角形
    {
    if(n == 1)
    return 1;
    else
    {
    return n + recursionSolve(n-1);
    }
    }



    public static void main(String[] args) {
    Triangle.cycleSolve(100);
    System.out.println(Triangle.recursionSolve(100));
    }
    }

    任务三:递归实现斐布拉契数列:

    原理图:

    源代码:

    public class Feibo {
    public static int FeiboCycle(int n) //用递归实现斐布拉契数列
    {
    if(n == 1)
    return 0;
    else if(n == 2)
    return 1;
    else
    {
    return FeiboCycle(n-1) + FeiboCycle(n-2);
    }
    }

    public static void main(String[] args)
    {
    System.out.println(Feibo.FeiboCycle(5));
    }
    }

    实现效果图:

  • 相关阅读:
    BZOJ2512 : Groc
    BZOJ3644 : 陶陶的旅行计划
    BZOJ1439 : YY的问题
    BZOJ2872 : 优莱卡
    BZOJ3273 : liars
    BZOJ4133 : Answer的排队
    URAL Palindromic Contest
    ZOJ Monthly, January 2018
    BZOJ2689 : 堡垒
    2017-2018 ACM-ICPC, Central Europe Regional Contest (CERC 17)
  • 原文地址:https://www.cnblogs.com/fyz666/p/8468759.html
Copyright © 2011-2022 走看看