分治与递归--实数的整数次幂

作者: Albert_Sun | 来源:发表于2017-07-12 11:33 被阅读17次

给定实数 x 和整数 n, 求 x的n次幂
时间复杂度:O(logN)

# !/usr/bin/env python
# -- coding: utf-8 --
# @Time : 2017/7/12 10:50
# @Author : Albert·Sun
# @Version : 0.10α-β
# @Description : None

def power(x, n):
    if n == 0:
        return 1
    if n == 1:
        return x

    if n < 0:
        return 1.0/power(x, -n)

    if n % 2 == 0:
        p = power(x, n/2)
        return p*p
    else:
        p = power(x, (n-1)/2)
        return x*p*p

if __name__ == "__main__":
    print 'power(1.01, 365)', pow(1.01, 365), power(1.01, 365)
    print 'power(0.99, 365)', pow(0.99, 365), power(0.99, 365)

    print pow(0.99, -365), power(0.99, -365)

鸡汤.png

相关文章

  • 分治与递归--实数的整数次幂

    给定实数 x 和整数 n, 求 x的n次幂时间复杂度:O(logN)

  • 递归与分治

    1| 棋盘覆盖问题 || 在一个2k x 2k ( 即:2^k x 2^k )个方格组成的棋盘中,恰有一个方格...

  • 递归与分治

    递归与分治 一、斐波那契(Fibonacci)数列的递归实现 他讲的一个故事:如果说兔子在出生两个月后,就有繁殖能...

  • 递归与分治

    递归(Recursion):指函数的定义中调用函数自身的方法。 递归调用过程: 举个很好玩的栗子: 用递归调用输出...

  • 分治与递归

    在刷leetcode的过程中,感觉总结方法是很重要的,因为很多类型一样的题目,采用的完全是同样的算法,今天要说的这...

  • 递归与分治

    一、分治 分治( Divide-and-Conquer )及分而治之,就是把一个较为复杂的问题分成多个规模较小但结...

  • 8.分治、回溯的实现与特性

    前言 分治与回溯,其实本质上就是递归,只不过它是递归的其中一个细分类。你可以认为分治和回溯最后就是一种特殊的递归,...

  • 动态规划

    一、分治,回溯,递归,动态规划 1.1、递归的代码模板 1.2、分治(Divide & Conquer)的代码模板...

  • 分治、回溯

    分治和回溯本质上都是递归。 分治 Divide & Conquer 在计算机科学中,分治法是建基于多项分支递归的一...

  • 分治法与递归

    设计思想与策略 分治法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治...

网友评论

    本文标题:分治与递归--实数的整数次幂

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