计算 x 的 n 次幂函数

描述:

实现 pow(x, n) ,即计算 x 的 n 次幂函数。

示例1:

输入: 2.00000, 10
输出: 1024.00000

示例2:

输入: 2.10000, 3
输出: 9.26100

示例3:

输入: 2.00000, -2
输出: 0.25000
解释: 2^-2 = 1/2^2 = 1/4 = 0.25

说明:

  • -100.0 < x < 100.0
  • n 是 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1] 。

解答:

法1(暴力法):

class Solution {/*** @param Float $x* @param Integer $n* @return Float*/function myPow($x, $n) {$num = $n;if ($num < 0) {$x = 1 / $x;$num = -$num;}$result = 1;for ($i = 1; $i <= $num; $i++) {$result *= $x;}return $result;}
}

法2(迭代法):

分析:暴力法是一个个计算,没有有效利用计算好的值。可以将已经计算出来的结果乘上其本身,如:x^n = x^(n/2) * x(n/2),对于n为奇数的情况,则只需再乘上x即可:xn = x^((n-1)/2) * x^((n-1)/2) * x

class Solution {/*** @param Float $x* @param Integer $n* @return Float*/function myPow($x, $n) {$num = $n;if ($num < 0) {$x = 1 / $x;$num = -$num;}$result = 1;$current_product = $x;for ($i = $num; $i >= 1; $i /= 2) {if (($i % 2) == 1) {$result = $result * $current_product;}$current_product = $current_product * $current_product;}return $result;}
}

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/explore/orignial/card/recursion-i/259/complexity-analysis/1227/

计算 x 的 n 次幂函数相关推荐

  1. 能计算对数函数、指数函数和幂函数的模拟计算机

    能计算对数函数.指数函数和幂函数的模拟计算机 在对数函数y=loga x(a>0,a≠1,x>0)中,自变量x和因变量y之间是对数关系,就是a的y次方的计算结果是x.现代模拟电路中,可以使 ...

  2. 幂函数在计算机中怎么下,对数指数幂函数模拟计算机.doc

    能计算对数函数.指数函数和幂函数的模拟计算机 在对数函数y=loga x(a>0,a≠1,x>0)中,自变量x和因变量y之间是对数关系,就是a的y次方的计算结果是x.现代模拟电路中,可以使 ...

  3. Python|每日一练|幂函数算法|位运算|>>右移|分析神器pysnooper|日志输出:Pow(x, n)

    Pow(x, n) 实现 pow(x, n)(https://www.cplusplus.com/reference/valarray/pow/) ,即计算 x 的 n 次幂函数(即,xn). 示例 ...

  4. matlab amd负优化,AMD 篇三:AMD真的翻身了?—— AMDINTEL CPU 计算性能测试

    AMD 篇三:AMD真的翻身了?-- AMD&INTEL CPU 计算性能测试 2020-02-25 15:13:05 12点赞 18收藏 14评论 前言 这次主要讲一下AMD和INTEL C ...

  5. 数据结构与算法:16 Leetcode同步练习(六)

    Leetcode同步练习(六) 目录 题目01:相同的树 题目02:对称二叉树 题目03:二叉树的最大深度 题目04: Pow(x, n) 题目05:子集 题目06:格雷编码 题目07:二叉树的最近公 ...

  6. 技术图文:位运算技术在求解算法题中的应用

    背景 前段时间,在知识星球立了一个Flag,这是总结Leetcode刷题的第一篇图文. 在总结这篇图文的时候,顺便把遇到的坑写了两篇辅助的图文,大家可以参考一下: 有符号整型的数据范围为什么负数比正数 ...

  7. 有符号整型的数据范围为什么负数比正数多一个?

    背景 我们先看Leetcode的这道题目: 标题:50. Pow(x, n) 难度:中等 https://leetcode-cn.com/problems/powx-n/ 实现 pow(x, n) , ...

  8. 算法原理:大数据处理的分治思想!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:周彬莲,东北石油大学,Datawhale优秀学习者 引言 MapR ...

  9. leetcode50. Pow(x, n)

    实现 pow(x, n) ,即计算 x 的 n 次幂函数. 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 ...

  10. 算法------Pow(x, n)

    题目 实现 pow(x, n) ,即计算 x 的 n 次幂函数.示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3 ...

最新文章

  1. python 列表去重(数组)的几种方法
  2. unity3d 绘制小地图_Unity中实现小地图的几种方式
  3. Exception in thread main org.apache.thrift.transport.TTransportException: Could not create ServerS
  4. nm命令中符号类型详解
  5. django项目中settings.py文件中路径设置问题
  6. 三菱fx2n64mr说明书_FX2N-64MR-001原理及应用三菱FX2N-64MR-001使用说明书 - 三菱
  7. [Java][web]利用Spring随时随地获得Request和Session
  8. Hello,World!(信息学奥赛一本通-T1001)
  9. 设定所有tableView中cell的分隔线颜色
  10. Hive学习之六 《Hive进阶— —hive jdbc》 详解
  11. 面对局域网用户滥用网络执法官,p2p终结者等网管软件的破解方法
  12. 华为初面+综合面试(Java技术面)附上面试题
  13. QLineEdit光标问题
  14. em html字号,使用 em 来设置字体大小
  15. 花呗上征信,一文看懂征信所有问题
  16. 苹果公司欲使用3D打印技术进行新产品的测试
  17. 生容易,活容易,生活不容易。
  18. python 数据分析入门教程(三)_Python数据分析入门教程(三):数据选择——AIU人工智能学院-经管之家官网!...
  19. JetPack之Room,Room基本使用
  20. LPOJ - 5498 「NOIP2010」机器翻译

热门文章

  1. Python学习002—python的安装以及pip
  2. 【MM 容差】采购订单中的容差
  3. CCF推荐会议(人工智能与模式识别)
  4. C#替换方向性的 Unicode 控制字符,解决无法匹配iphone 通讯录复制的手机号码问题
  5. Python采集全球疫情数据并做可视化分析
  6. html分组标签tfoot,网页布局中 tbody标签与thead和tfoot标签使用
  7. <小甲鱼>C++实例练习6—华氏温度与摄氏温度转换程序
  8. 解决多线程编程中大并发数等待唤醒的问题
  9. 2021-05-13
  10. 如何提高下载速度(校园网怎么提高下载速度)