网站如何认证,淮北建网站,深圳龙岗属于什么风险,网博士智能建站在线题目链接#xff1a;数值的整数次方 文章目录1 题目描述2 题目分析2.1 方法1 循环2.11 Java代码2.12 C代码2.2 方法2 递归2.21 Java代码2.22 C代码3 总结1 题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
2 题目分析
2.1 方…在线题目链接数值的整数次方
文章目录1 题目描述2 题目分析2.1 方法1 循环2.11 Java代码2.12 C代码2.2 方法2 递归2.21 Java代码2.22 C代码3 总结1 题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
2 题目分析
2.1 方法1 循环 常规做法是直接写一个循环让exponent个base相乘即可。这里我们主要要注意的是exponent可能小于0。所以要考虑这种情况代码还是很好写的 2.11 Java代码
public class Solution {public double Power(double base, int exponent) {//非递归解法if(exponent0)return 1;if(exponent0)return 1/Power2(base,-exponent);//exponent小于0时double ret1;for(int i1;iexponent;i)ret*base;return ret;}double Power2(double base, int exponent){double ret1;for(int i1;iexponent;i){ret*base;}return ret;}
}2.12 C代码
class Solution {
public:double Power(double base, int exponent) {//非递归解法if(exponent0)return 1;//int absExponentabs(exponent);if(exponent0)return 1/Power2(base,-exponent);double ret 1;for(int i1;iexponent;i)ret*base;return ret;}//这个函数的exponent参数时正的double Power2(double base, unsigned int exponent){double ret 1;for(int i1;iexponent;i)ret*base;return ret;}
};
2.2 方法2 递归 对于以下公式我们肯定是非常熟悉的 这种公式我们已经很常见了可以利用递归来求解。只需要注意n的奇偶性即可。 2.21 Java代码
public class Solution {public double Power(double base, int exponent) {//递归解法if(exponent0)return 1;else if(exponent 0){if((exponent0x1)1)return base*Power(base,(exponent-1)1)*Power(base,(exponent-1)1);else return Power(base,exponent1)*Power(base,exponent1);}else {return (double)1/Power(base,-exponent);}}
}2.22 C代码
class Solution {
public:double Power(double base, int exponent) {//递归解法if(exponent0)return 1;else if(exponent 0){if(exponent 0x1)return base*Power(base,(exponent-1)1)*Power(base,(exponent-1)1);else return Power(base,exponent1)*Power(base,exponent1);}else {return (double)1/Power(base,-exponent);}}
};3 总结
主要是注意输入数据的所有的可能性比如上面的exponent的值有可能是小于0的数所以要考虑问题全面、
探讨学习加 个人qq1126137994 个人微信liu1126137994