zoukankan      html  css  js  c++  java
  • 递归算法总结

    递归算法就是方法不断的去调用本身,直到满足某个条件

    递归会把一个大问题分解成小问题,一点点的去计算

    如题1:求1-100的和

    public class Demo {
        public static void main(String args[]) {
            System.out.println(add(100));
        }
        public static int add(int num) {
            if (num ==1) {
                return 1;
            } else {
                return num + add(num - 1);
            }
        }
    }

    主方法首先会去执行add(100),返回100+ add(99),add(99)会返回 99+add(98),以此类推,最后把返回值加在一起(100+99+98+。。1)就是5050

    题二:斐波那契数列(1,1,2,3,5,8,13~~~),求第n个位置的值是?斐波那契数列递归的定义:F1=1,F2=1,Fn=F(n-1)+(n-2)

    public class Demo {
        public static void main(String args[]) {
            System.out.print(f(6));
        }
    
        public static int f(int n) {
            if (n == 1 || n == 2) {
                return 1;
            } else {
                return f(n - 1) + f(n - 2);
            }
        }
    }

    思路如下:

  • 相关阅读:
    尚未笔记知识点
    jsonp的原理及其使用
    django中将views.py中的python方法传递给html模板文件
    UVA
    UVA
    UVA
    UVA
    UVA
    UVA 1600 Patrol Robot
    UVA
  • 原文地址:https://www.cnblogs.com/sflik/p/4526827.html
Copyright © 2011-2022 走看看