• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
gaohuan30
博客园    首页    新随笔    联系   管理    订阅  订阅
递归

例如1:

  1到10的累加 = 55

public class Recursion1 {
    public static void main(String[] args) {
        System.out.println(f(10));
    }
    static long f(int n){
        if(n<1){
            return -1;
        }
        if (n==1){
            return 1;
        }
        return n+f(n-1);
    }
}

能采用递归所描述的算法通常具有这样的特征:为求解规模为N的问题,设法将它分解成一些规模较小的问题,然后从这些小问题的解方便地构造出大问题地解,并且这些规模较小地问题也能采用同样地分解和综合方法,分解成规模更小地问题。并从这些更小问题地解构造出规模稍大问题地解,当规模N=1时,能直接得到解。

    递归算法设计,就是把一个大型复杂地问题层层转化为一个与原问题相似地规模较小地问题,,在逐步求解小问题后,在返回得到大问题的解。

    递归的关键在于找出递归关系和递归终止条件。

 

posted on 2020-05-06 19:18  gaohuan30  阅读(136)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3