剑指Offer系列-面试题11:数值的整数次方
来源:互联网 发布:淘宝客招代理文案 编辑:程序博客网 时间:2024/05/17 03:21
题目:实现函数double Power(double base, int exponent)。求base的exponent次方,不得使用库函数,同时不需要考虑大数问题。
#include <iostream>using namespace std;bool g_InvalidInput = false; /// 输入是否非法的标识/// 判断两个double类型的数是否相等bool equals(double num1, double num2){ if(-0.0000001 < (num1 - num2) && (num1 - num2) < 0.0000001) { return true; } else { return false; }}/// 计算幂乘double calcWithUnsignedExponent(double base, unsigned int exponent){ double result = 1.0; for(int i = 1; i <= exponent; ++i) result *= base; return result;}double Power(double base, int exponent){ g_InvalidInput = false; if(equals(base, 0.0) && exponent < 0) /// 如果底数为0而且指数小于0 { g_InvalidInput = true; return 0.0; } unsigned int absExponent = (unsigned int)(exponent); if(exponent < 0) absExponent = (unsigned int)(-exponent); double result = calcWithUnsignedExponent(base, absExponent); if(exponent < 0) result = 1.0 / result; return result;}int main(){ double base; int exponent; cout << "Input base and exponent:" << endl; cin >> base >> exponent; double result = Power(base, exponent); if(equals(result, 0.0)) { if(g_InvalidInput) cout << "Input error!" << endl; else cout << "0.0" << endl; } else cout << result << endl; return 0;}
0 0
- 剑指Offer系列-面试题11:数值的整数次方
- [剑指offer][面试题11]数值的整数次方
- 【剑指offer】面试题11:数值的整数次方
- 剑指offer 面试题11 数值的整数次方
- 剑指Offer:面试题11 数值的整数次方
- 《剑指Offer》面试题11:数值的整数次方
- 【剑指Offer学习】【面试题11 :数值的整数次方】
- 剑指offer-面试题11:数值的整数次方
- 剑指offer之面试题11:数值的整数次方
- 剑指offer----面试题11:数值的整数次方
- 剑指offer之面试题11数值的整数次方
- 剑指Offer--面试题11 数值的整数次方
- 剑指Offer----面试题11:数值的整数次方
- 剑指offer-面试题11:数值的整数次方
- 剑指offer面试题11:数值的整数次方
- 剑指offer--面试题11: 数值的整数次方
- 剑指Offer之面试题11:数值的整数次方
- 剑指offer-面试题11-数值的整数次方
- POJ3140_Contestants Division_深搜
- Android使用Http协议访问网络——HttpURLConnection(无解析)
- Bzoj 1968: [Ahoi2005]COMMON 约数研究
- 结合源码分析show engine innodb status输出内容(一)
- PaddlePaddle︱开发文档中学习情感分类(CNN、LSTM、双向LSTM)、语义角色标注
- 剑指Offer系列-面试题11:数值的整数次方
- 装箱问题
- Gson解析不区分大小写,json中多个key对应同一个bean的key
- 点击 Android Studio 的 build 按钮后发生了什么
- crontab任务执行的环境
- 网络编程--sockaddr 与 sockaddr_in
- VTK修炼之道54:图形基本操作进阶_表面重建技术(三角剖分)
- Nginx中负载均衡的算法
- 数独(DFS)