Power(int base, int exponent) 函数实现
2013-09-30 21:20
274 查看
这个是个高效的算法,时间复杂度为 O(logn)
原理:
a的n次方:
原理:
a的n次方:
#include<iostream> #include<cmath> using namespace std; double PowerWithUnisgnedExponent(double base ,unsigned int exponent) { if(exponent == 0) return 1; if(exponent == 1) return base; double result = PowerWithUnisgnedExponent(base, exponent >> 1); result *= result; if(exponent & 0x1 == 1) result *=base; return result; } double power(double base, int exponent) { double result = PowerWithUnisgnedExponent(base,abs(exponent)); if(exponent < 0) return 1.0/result; else return result; } int main() { int base = 2; int exponent = 10; cout << power(base,exponent); return 0; }
相关文章推荐
- Power(int base, int exponent) 函数实现
- 实现函数 doubule Power(double base, int exponent),求base的exponent次方,不得使用库函数,同时不需要考虑大数问题
- 实现函数double Power(double base,int exponent),求base的exponent次方
- 实现函数double Power(double base,int exponent),求base的exponent次方
- 实现函数 double Power(double base,int exponent),求base的exponent次方,不得使用库函数,不用考虑大数问题
- 面试题11:实现函数 double Power(double base, int exponent)。求base的exponent的次方。不使用库函数。
- power(double d,int n)函数实现
- 用C++编写递归函数GetPower(int x,int y)计算x的y次幂,在同一程序里中针对整型和实型实现两个重载的函数;在主程序中实现输入输出
- 编程实现求幂函数double power(double base,int ex) 递归实现
- 快速排序,void Qsort(void *base,int nelem,int width, int (*fcmp)(const void *,const void *))的实现。
- 库函数的实现———double power(double base,int ex)
- 【C语言】【笔试题】实现函数itoa(int n,char s[]),将整数n这个数字转换为对应的字符串,保存到s中
- 关于float转int的函数实现
- 无符号整数翻转函数实现reverse_bits(unsigned int value)
- 用最简单的函数实现功能:判断一个int数据是否是2的x次幂(不能使用循环)。
- c 实现int sqrt(int x)函数的细节讨论
- 大一C语言初学者的期末复习: 求3个数的极大值,用函数调用实现:int max(int x, int y)
- 关于float转int的函数实现
- Python中的int(x,base)函数
- 1.写一个函数返回参数二进制中1的个数2.获取一个数二进制序列中所有的偶数为和奇数位,分别输出二进序列3.输出一个整数的每一位4.编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(b