剑指offer--实现power函数
来源:互联网 发布:java跨域上传文件 编辑:程序博客网 时间:2024/06/05 09:55
面试题11:数值的整数次方
题目:实现函数double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。
理解:考虑指数是整数,负数两种情况
当指数为负数时,先对指数求绝对值,再算出次方的结果取倒数。
求倒数的时候,不能对0取倒数,所以底数不能为0
//判断是否和0相等bool equal(double num1,double num2){ if(num1-num2>-0.0000001 && num1-num2<0.0000001) return true; else return false;}double PowerWithUnsignedExponent(double base,unsigned int exp){ double result = 1.0; for(int i=1;i<=exp;++i) { result *= base; } return result;}double Power(double base,int exp){ //如果指数为负数而且底数为0,返回0 if(exp<0 && equal(base,0.0)) { return 0.0; } //指数的绝对值 unsigned int absexp = (unsigned int)exp; if(exp < 0) absexp = (unsigned int)(-exp); double result = PowerWithUnsignedExponent(base,absexp); //如果指数为负数,就对结果取倒数 if(exp < 0) result = 1.0/result; return result;}int main(){ cout<<Power(0,-1)<<endl; cout<<Power(2,0)<<endl; cout<<Power(2,-2)<<endl; cout<<Power(2,2)<<endl; cout<<Power(0,2)<<endl;}
阅读全文
0 0
- 剑指offer--实现power函数
- 剑指offer(2)-Power()函数
- 【35】实现Power函数
- 实现power函数
- STL 中的 power 函数实现
- atoi函数的大概实现【剑指offer】
- 剑指offer中atoi()函数的实现
- Power(int base, int exponent) 函数实现
- power(double d,int n)函数实现
- 剑指Offer算法实现之一:赋值运算符函数
- 剑指Offer 1+2+...+n 构造函数法实现
- 【剑指offer】实现包含min函数的栈
- 【剑指offer】实现一个函数来替换字符串中的空格
- 【面试题】剑指Offer-49-模拟实现atoi()函数
- 剑指Offer: (Java实现) 包含min函数的栈
- power函数
- 剑指offer JavaScript实现
- (剑指offer)JAVA实现
- Linux 用户管理
- 【JZOJ5432】【NOIP2017提高A组集训10.28】三元组
- JS选择器
- Asset Hunter 2
- Java/C++中的赋值和拷贝分析及对比
- 剑指offer--实现power函数
- 【BigHereo 46】---DataStructure---线索二叉树(四)
- spfa的探究
- 队列和栈的装换
- 【软考学习】设计模式——宏观总结
- caffe 初学参考链接
- Angularjs按需查询
- Understanding Neural Networks Through Deep Visualization
- iOS标记指针(Tagged Pointer)技术