数值的整数次方
来源:互联网 发布:模拟人生2数据丢失 编辑:程序博客网 时间:2024/05/18 18:15
题目:实现函数double Power(double base,int exp),求base的exp次方。不得使用库函数,同时不需要考虑大数问题。
这道题本身难度不大,但有些细节需要注意。
由于题目已经给出了返回值呵参数中的double型,所以在进行判0的时候,就不能再用if(base == 0)这样的处理,而要使用浮点数的判0处理。
再者,exp是整型,所以有可能是0或负数,这些都是需要特殊处理的地方。
基于以上分析,我们给出如下代码:
//浮点数的比较大小bool equal(double num1, double num2){ if ((num1 - num2 > -0.00000001) && (num1 - num2 < 0.00000001)) return true; else return false;}double PowerExp(double base, unsigned int exp){ double result = 1.0; for (int i = 1; i <= exp; i++) { result *= base; } return result;}//数值的整数次方bool g_invalidInput = false;double Power(double base, int exp){ g_invalidInput = false; //注意先判断合法性 if (equal(base, 0.0) && exp < 0) { g_invalidInput = true; return 0.0; } //当指数小于0时要进行特殊处理 unsigned int absExp = (unsigned int)(exp); if (exp < 0) absExp = (unsigned int)(-exp); double result = PowerExp(base, absExp); if (exp < 0) result = 1.0 / result; return result;}int main(){ double ret = PowerExp(2, 5); cout << ret << endl; system("pause"); return 0;}
阅读全文
0 0
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- unity3d配置Android环境,打包发布Apk流程详解
- 浅谈linux用户与用户组的概念
- List Contains方法使用问题
- 查看本机的系统字符集
- bzoj1196 [HNOI2006]公路修建问题(二分答案+kruskal/贪心)
- 数值的整数次方
- oracle一个创建用户、创建表空间、授权、建表的完整过程
- 《深入理解Java虚拟机》学习笔记(7)--Java内存模型与线程
- 前端开发工程师需要的技能
- PrefixHeader文件、NSLog在release下不打印
- Java
- android 内存优化面试知识
- RecyclerView复杂布局动态管理GridLayoutManager
- android代码里的分区信息