zoukankan      html  css  js  c++  java
  • Day4--js--递归各种大法渡难关

    一1求最大公约数

      递归

    function com(m,n){
        var r = 0;
        r = m%n;
    
        if(r == 0){
            return n;
        }else{
            m = n;
            n = r;
            return com(m,n);
        }
    }
    
    
    console.log(com(8,12))

    2,最简单的思路

    function fc(a,b){
            var result = 1;
            for(var i = 1; i <= a && i <= b; i++ ){
                if(a%i == 0 && b%i == 0 ){
                    result = i;
                }
            }
            return result;
        }

    二.斐波那契数列

      

    1 1 2 3 5 8  13  21  34......
    
    
    function fibonacci(n){
    
        if(n<=2){
            return 1;
        }
    
        return fibonacci(n-1)+fibonacci(n-2);
    }
    
    console.log(fibonacci(2))

    三.100以内能被3,7整除

      

     1 function fn(n){
     2 
     3     if(n == 100){
     4         return;
     5     }
     6 
     7     if(n%3 == 0 || n % 7 == 0){
     8         console.log(n);
     9     }
    10 
    11 
    12     fn(n+1);
    13 }
    14 
    15 fn(1)

    四,打印100所有的奇数

      

    function fn(n){
            if(n == 100){
                return;
            }
    
            if(n%2 != 0){
                console.log(n);
            }
    
        fn(n+1);
        }
    
    fn(1);

    五.1加到100

    function sum(n){
    
        if(n == 100){
            return 100;
        }
             
        return n+sum(n+1);
    }

    六.1!+2!+3!+.....20!求和

    
    
    function fn(n){
        if(n == 1){
            return 1;
        }
    
        var result = 1;
        for(var i=1;i<=n;i++){
            result*=i;
        }
    
    
    
        return result+fn(n-1);
    }
    
    
    
     

    七.  计算100以内偶数之和

     1 var sum =0
     2 function fn(n){
     3     if(n<2){
     4         console.log(sum)
     5         return 
     6     }
     7     if(n%2 == 0){
     8         sum+=n
     9     }
    10     fn(n-1)
    11 }
    12 fn(100)
    
    
    function fn(n){
        if(n <= 1){
            return 0; 
        }
    
        if(n%2 == 0){
            return n+fn(n-2);
        }else{
            
            return fn(n-1);
        }
    }
    
    console.log(fn(99))
    
    
    
     

                                                                                                                                                      未完待续..........

  • 相关阅读:
    mysql 从库执行insert失败导致同步停止
    MySQL 占用cpu 100%
    MySQl 主从配置实战
    tomcat 线程数与 mysql 连接数综合调优
    mysql 数据迁移
    Windows系统上设置 Git Bash 的 Font 及 Locale
    java -jar 使用要点
    ConcurrentHashMap 从Java7 到 Java8的改变
    sql索引组织
    注册、启动、停止windows服务
  • 原文地址:https://www.cnblogs.com/moonzwt/p/9457508.html
Copyright © 2011-2022 走看看