一种求正整数幂的高效算法详解

2016-02-19 09:19 6 1 收藏

有了下面这个一种求正整数幂的高效算法详解教程,不懂一种求正整数幂的高效算法详解的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - 编程语言 】

核心思想是
当n为偶数时,a^n = a^n/2 × a^n/2
当n为奇数时,a^n = a^(n-1)/2 × a^(n-1)/2  × a
代码如下:
代码如下:

public class Power {
 public static void main(String[] args) {
  System.out.println(power(5.5,5));
 }
 private static double power(double base, int exponent) {
  if (exponent == 0)
   return 1;
  if (exponent == 1)
   return base;
  double result = power(base, exponent 1);
  result *= result;
  if ((exponent & 0x1) == 1)
   result *= base;
  return result;
 }
}

代码中还使用右移运算来代替除以2,用位与运算来代替求余判断奇偶,这样都要算法更加效率的多。

来源:http://www.tulaoshi.com/n/20160219/1590388.html

延伸阅读
标签: PS PS教程
本教程由中国 第一印相 原创,转载请保留此信息. screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0>  screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}...
GO省电:LBS是一种工具而非一种模式   图一 GO省电 初次安装后有简单的功能指引,方便用户快速上手。 图二 功能指引 图三 功能指引 一、界面简洁、大气 GO省电界面以黑色为主体颜色,配以蓝、白两色字体及按钮,给人一种简洁、大气的感觉。从界面上看,GO省电包括快速优化、情景模式、智能省电和设...
标签: Web开发
//简单的类的设计模式 //定义一个类class1 function class1() {   //构造函数 } //通过指定prototype对象来实现类的成员定义 class1.prototype = {   someProperty:"simple",   someMethod:function {     //方法代码   },   //其实属性和方法 }在一个类的成员之间互相引用,必须通过this指针来进行...
标签: 瘦身
懒人有效减肥密诀 减肥往往和辛苦挂上钩,似乎像我们这种“懒人”这辈子只能忍受肥胖的及煎熬,与苗条无缘了。其实不然,只要掌握方法要领,懒人减肥不是梦。 你是否注意到过,吃蛋白质食物会让你觉得很饱?这并不是你想象出来的。研究表明,蛋白质激发胰高血糖酶生成一种引起饱食感的物质。试试在你午餐的色拉中加入一些鸡肉或金枪鱼肉--这样...
标签: PS PS教程
有一笔误“虚线粗细”应为“ 虚线长短 ”

经验教程

758

收藏

100
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部