12、数值的整数次方 快速幂很好
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0
示例1
输入
2,3
返回值
8.00000
1、主要要注意正负数的情况,要注意分开
运行时间:3ms 占用内存:520k
double Power(double base, int exponent) { if( exponent == 0) return 1.0; if( base == 0.0 ) return 0.0;//保证不同时为0,先处理各自为0的情况 bool flag = false;//判断指数是否为负 if( exponent < 0) { flag = true; exponent *=-1;//如果为负数,则将指数转正 } double res = base; for(int i = 2;i <= exponent; ++i){ res *=base;//逐渐递乘 } if(flag) return 1.0/res; else