罗田建设局网站,重庆机有哪些网站建设公司,山东响应式网站建设,山东电商运营公司排名题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0
解题思路
首先一个数的任意次方#xff0c;这个数有可能是负数和正数和零#xff0c;然后次方也有可能是负数和正数和零
当这个数是零时#xff…题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0
解题思路
首先一个数的任意次方这个数有可能是负数和正数和零然后次方也有可能是负数和正数和零
当这个数是零时0的任何次方就是0。当这个数是正数时分情况 次方为零此时答案为1次方为负数算出来的结果要用1除以。次方为正数则正常给出 当这个数为负数时跟正数一样
所以程序先判断这个数是不是零是零直接返回再判断次方是不是为1如果为1返回1。如果次方为负数不需要单独算只需要把次方取反算次方正数为正数的情况最后再用1除以就好如果为正数res保存当前幂的值。当次方不为零时resres*base –次方
代码实现
class Solution {
public:double Power(double base, int exponent) {if(base 0)return 0;if(exponent 0)return 1;bool flag true;double res 1;if(exponent 0 ){exponent -exponent;flag false;}while(exponent!0){res base*res;exponent--;}if(flag false)res 1/res;return res;}
};