zoukankan      html  css  js  c++  java
  • 尾递归

    什么是尾递归呢?(tail recursion), 顾名思议,就是一种“不一样的”递归,说到它的不一样,就得先说说一般的递归。对于一般的递归,比如下面的求阶乘,教科书上会告诉我们,如果这个函数调用的深度太深,很容易会有爆栈的危险。

    尾递归就可以大大缩小了栈的深度,可以出栈

    例题:切面条 ---蓝桥杯

    标题:切面条

    一根高筋拉面,中间切一刀,可以得到2根面条。

    如果先对折1次,中间切一刀,可以得到3根面条。

    如果连续对折2次,中间切一刀,可以得到5根面条。

    那么,连续对折10次,中间切一刀,会得到多少面条呢?

    答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。

    package demo2;
    
    import java.math.BigInteger;
    import java.util.*;
    
    public class Main8 {
        public static int f(int n,int r){
            if(n==0)
                return r;
             
             
                return f(n-1,2*r-1);
             
        }
         
        public static void main(String[] args) {
             Scanner sc = new Scanner(System.in);
             int n = 10;
             System.out.println(f(10,2));
        }
    
    }
  • 相关阅读:
    1061 Dating (20 分)
    1112 Stucked Keyboard (20 分)
    1077 Kuchiguse (20 分)
    1065 A+B and C (64bit) (20 分)
    1046 Shortest Distance (20 分)
    1124 Raffle for Weibo Followers (20 分)
    1036 Boys vs Girls (25 分)
    1113 Integer Set Partition (25 分)
    f开头的
    g开头的
  • 原文地址:https://www.cnblogs.com/ls-pankong/p/10542795.html
Copyright © 2011-2022 走看看