剣指offer数値の整数次方Python and C++
1461 ワード
タイトルの説明
doubleタイプの浮動小数点数baseとintタイプの整数exponentを指定します.baseのexponent次数を求めます.
ベースとexponentが同時に0でないことを保証します.
構想
考えもいらないかもしれないが,やればすぐ終わる.
問題の起こり得る問題を解く
注意戻り値は、baseとexponentがそれぞれ0に等しい場合を考慮します.
python
C++
doubleタイプの浮動小数点数baseとintタイプの整数exponentを指定します.baseのexponent次数を求めます.
ベースとexponentが同時に0でないことを保証します.
構想
考えもいらないかもしれないが,やればすぐ終わる.
問題の起こり得る問題を解く
注意戻り値は、baseとexponentがそれぞれ0に等しい場合を考慮します.
python
# -*- coding:utf-8 -*-
class Solution:
def Power(self, base, exponent):
# write code here
if base == 0:
return 0
if exponent == 0:
return 1
temp = 1
if exponent<0:
abs_exponent = -exponent
while abs_exponent:
temp *= base
abs_exponent -= 1
return 1/temp
else:
while exponent:
temp *= base
exponent -= 1
return temp
C++
class Solution {
public:
double Power(double base, int exponent) {
float res=1;
if(base==0 & exponent<=0)
return 0;
if(exponent<0)
{
res = 1;
for(int i=1;i<=-exponent;i++)
res *= base;
res=1/res;
//res= pow(base,exponent); // pow,c++
// res=1/res;
return res;
}
if(exponent>=0)
{
res = 1;
//for(int i=1;i<=exponent;i++)
// res *= base;
res= pow(base,exponent); // pow,c++
return res;
}
}
};