美文网首页
递归应用(2) 乘方问题

递归应用(2) 乘方问题

作者: BringNew | 来源:发表于2017-04-23 08:36 被阅读0次
/**
 * Created by Luty on 2017/4/23.
 * 递归的应用:计算乘方
 */
public class Involution {
    public static int x=2;
    public static int y=8;

    public static void main(String[] args){
        System.out.println(power(x,y));
    }

    public static int power(int x,int y){
        boolean isOdd = true;
        int result = 1;
        if (y==1){
            return x;
        }
        if(y%2 == 1){
            y=y+1;
            isOdd = false;
        }
        result = power(x*x,y/2);
        return isOdd ? result : result/x;
    }
}

计算x的y次方:
1、如果y为1,直接返回x;
2、否则计算xx的y/2次方(如果y为偶数)
3、如果y为奇数,计算x
x的(y+1)/2次方,最后再/x

相关文章

  • 递归应用(2) 乘方问题

    计算x的y次方:1、如果y为1,直接返回x;2、否则计算xx的y/2次方(如果y为偶数)3、如果y为奇数,计算xx...

  • 递归的Java实现

    算法 数据结构——递归的运行机制:递归的微观解读 递归是一种应用非常广泛的算法(或者编程技巧)。递归求解问题的分解...

  • python常见循环练习

    练习python刷题时遇到了一些比较典型的题目,整理了以下10道题:第一题:求5的阶乘方法1,递归 方法2:for...

  • 《数据结构与算法之美》07——递归

    如何理解“递归” 递归是一种应用非常广泛的算法(或者编程技巧)。 递归的三个条件 一个问题的解可以分解为几个子问题...

  • Python中递归的最大次数(转)2018-06-14

    Python中递归的最大次数 实际应用中遇到了一个python递归调用的问题,报错如下:RuntimeError:...

  • 2的乘方

    n & (n-1) =0

  • java中常见的递归使用场景

    一、递归概述 程序调用自身的编程技巧称为递归.递归作为一种算法在程序设计语言中广泛应用。递归需具备的条件: 子问题...

  • 递归的Java实现

    递归是一种应用非常广泛的算法(或者编程技巧)。递归求解问题的分解过程,去的过程叫“递”,回来的过程叫“归”。 递归...

  • 积的乘方教学设计

    教学目标: 1.探究并理解积的乘方运算性质,能运用积的乘方运算性质进行计算. 2.在探索积的乘方的运算性...

  • 2.2 递归经典问题:汉诺塔问题

    Chapter2: 时间复杂度分析、递归、查找与排序 2. 递归经典问题:汉诺塔问题 问题 有A,B,C三个柱子,...

网友评论

      本文标题:递归应用(2) 乘方问题

      本文链接:https://www.haomeiwen.com/subject/lcbezttx.html