zoukankan      html  css  js  c++  java
  • Algs4-1.1.18递归函数在做什么

     1.1.18请看以下递归函数:
    public static int mystery(int a,int b)
    {
        if (b==0)       return 0;
        if (b%2==0)  return mysetery(a+a,b/2);
        return mystery(a+a,b/2)+a;
    }
    mystery(2,25)和mystery(3,11)的返回值是多少?给定正整数a和b,mystery(a,b)计算的结果是什么?将代码中的+替换为*并将return 0改为return 1,然后回答相同的问题。

    1)解:按2,25画出递归树,b%2==0时生成右子树,b%2!=0时即b%2==1时生成左子树,余数串即是十进制25的二进制表示。
    图片

    2)按上图类似解法得a^b。
  • 相关阅读:
    内网Windows Server时间自动同步
    处理sqlserver数据
    virtualenv使用
    vue过渡动画效果
    vue视图
    vue组件
    Vue实例
    vue介绍
    Bootstrap布局
    Bootstrap组件
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9848564.html
Copyright © 2011-2022 走看看