• 关于斐波那契数列和递归


    递归有三个基本点:

    1.递归总有一个最简单的情况。即边界或者跳出递归的条件语句;

    2.递归总是尝试解决一个规模更小的问题;

    3.递归尝试解决的父问题和子问题之间不因该有交集;

    以下是几个递归代码://斐波那契数列

    import edu.princeton.cs.algs4.StdOut;
    
    public class No_1_1_19 {
    	public static void main(String[] args)
    	{
    		for(int n=0;n<10;n++)
    		{
    			StdOut.println(n+" "+f(n));
    			
    		}
    	}
    	
    	public static long f(int n)
    	{
    		if(n==0)
    			return 0;
    		if(n==1)
    			return 1;
    		
    		return f(n-1)+f(n-2);
    	}
    }
    

      运行结果:

    用一个数组来存储斐波那契数列,并且用循环来实现;

    import edu.princeton.cs.algs4.StdOut;
    
    public class No_1_1_19 {
    	public static void main(String[] args)
    	{
    		int n=20;
    		
    	int[] a = new int[n];
    	a[0]=0;
    	a[1]=1;
    	for(int i=2;i<n;i++)//用循环来实现
    	{
    		a[i] = a[i-1] + a[i-2];
    	}
    	
    	for(int i=0;i<n;i++)//输出结果
    		StdOut.println(i+" "+a[i]);
    	
    }
    }
    

      结果如下:

  • 相关阅读:
    temp12
    temp111
    test.c
    vipLogin.c
    services.c
    request.c
    managerLogin.c
    将博客搬至CSDN
    SpringMabatis整合项目mybatis-configuration.xml核心配置
    logback-test.xml配置文件模板
  • 原文地址:https://www.cnblogs.com/qinmin/p/12268870.html
Copyright © 2020-2023  润新知