本篇文章给大家带来的内容是关于php如何实现数值的整数次方(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

思路:

1.指数的二进制表达10^6次方 可以表示10^110(二进制) 10^100 * 10^10 * 10^000=>10^4 * 10^2

2.移位运算while(n!=0){

if((n&1)==1)

res*=curr;

curr*=curr;// 翻倍

n>>=1;// 右移一位

}

function Power($base, $n){

$res = 1;

$curr = $base;

$exponent;

if($n>0){

$exponent = $n;

}else if($n<0){

if($base==0) return 0;

$exponent = -$n;

}else{// n==0

return 1;// 0的0次方

}

//$exponent转成二进制,有多少位就循环多少次,curr就执行n+1次方,如果当前位是1的就结果相乘

while($exponent!=0){

if(($exponent&1)==1)

$res*=$curr;

$curr*=$curr;// 翻倍

//var_dump($curr);

$exponent>>=1;// 右移一位

}

return $n>=0?$res:(1/$res);//指数是负数的情况

}

$a=Power(10,6);

var_dump($a);

~

php输出次方,php如何实现数值的整数次方(代码实例)相关推荐

  1. 剑指offer:面试题16. 数值的整数次方

    题目:数值的整数次方 实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要考虑大数问题. 示例 1: 输 ...

  2. python 数值的整数次方

    解决数值的整数次方问题 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn). 不得使用库函数,同时不需要考虑大数问题. 示例 1:输入:x = 2.00000, n = 10 输出: ...

  3. C++ 数值的整数次方 (最小int取反,递归实现乘方)

    剑指 Offer 16. 数值的整数次方 难度中等156收藏分享切换为英文接收动态反馈 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn).不得使用库函数,同时不需要考虑大数问题. ...

  4. 《剑指offer》-- 数组中的逆序对、最小的K个数、从1到n整数中1出现的次数、正则表达式匹配、数值的整数次方

    一.数组中的逆序对: 1.题目: 数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出 ...

  5. 【附可运行代码】剑指 Offer 16. 数值的整数次方

    立志用最少的代码做最高效的表达 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn).不得使用库函数,同时不需要考虑大数问题. 示例 1: 输入:x = 2.00000, n = 10 ...

  6. 数值的整数次方-c语言快速幂

    数值的整数次方-c语言快速幂 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn).不得使用库函数,同时不需要考虑大数问题. 示例 1: 输入:x = 2.00000, n = 10 ...

  7. double取整数部分_剑指offer_16_数值的整数次方

    //面试题16.数值的整数次方 //题目:实现函数double Power(double base,int exponent),求base的exponent次方. //不得使用库函数,同时需要考虑大数 ...

  8. JAVA实现数值的整数次方(《剑指offern》)

    题目: 给定一浮点数base和int类型的整数exponent.求base的exponent次方 牛客网题目截图: 解答: public class Solution {public double P ...

  9. 题目11 数值的整数次方

    / // 1. 题目11 数值的整数次方 // 1.1 没有考虑负数和0的情况!!!! double Power(double dBase, int iExponent) {double dRes = ...

最新文章

  1. 1037 Magic Coupon
  2. 卷积神经网络「失陷」,CoordConv来填坑
  3. PHP中date函数月和日带0问题
  4. 《Objective-c》Foundation框架 -(NSDate)
  5. 悲报, GIF 之父因新冠去世
  6. C++中getline()和cin()同时使用时的注意事项
  7. putty WinScp 免密登录远程 Linux
  8. php中什么时候用传值,php中传值与传引用的区别。什么时候传值什么时候传引用?...
  9. 项目经理(project manager)刘小备的一天
  10. STM32项目(二) —— 车灯测试台架
  11. int和Integer有什么区别?
  12. 15.01万起!全新威马E.5上市:505公里长续航
  13. python切割图片文字_Python+opencv 实现图片文字的分割的方法示例
  14. ThinkPHP多语言包功能使用
  15. 解析 DES 加密算法(C语言):
  16. aec一pc_什么是AEC声学回声消除器?
  17. Ubuntu18.04系统下装CUDA9.0
  18. doctrine安装和配置
  19. 在一个字符串中搜索某个特定的字符值
  20. Pandas+Pyecharts | 某APP大学生用户数据分析可视化

热门文章

  1. qq邮箱邮件被拦截如何找回的方法
  2. 计算机基础应用期中试卷,计算机应用基础期中考试计算机试卷.doc
  3. 【MobileNet V2】《MobileNetV2:Inverted Residuals and Linear Bottlenecks》
  4. Degis 是第一个基于 Avalanche 的保险协议,测试得空投
  5. 初尝vue-element-admin
  6. 5-4 九宫格输入法 (15分)
  7. C语言实现二叉平衡树
  8. c语言说明函数的作用是,C语言中rewind函数的作用是什么?
  9. JGG | 河北大学杜会龙组综述植物泛基因组学研究
  10. 大数据工程师面试考题