12 數值的整數次方

2021-10-04 19:07:42 字數 1038 閱讀 4079

一、題目描述:

給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。

保證base和exponent不同時為0

二、解題思路:

c++實現:思路,求base的exponent,即將base連乘exponent次

class solution 

//考慮exponent為正負的情況

double res = 1;//初始化返回結果為1,注意返回值型別為double型

int ab***ponent = abs(exponent);

for(int i = 0; i < ab***ponent;i++)

res *= base;

if(exponent < 0)

res = 1 / res;

return res;

}};

python:

# -*- coding:utf-8 -*-

class solution:

def power(self, base, exponent):

# write code here

if exponent == 0:

return 1

ab***ponent = abs(exponent)

ans = 1

for i in range(ab***ponent):

ans *= base

if exponent < 0:

ans = 1 / ans

return ans

python實現:python提供了pow()函式計算數值得整數次方

# -*- coding:utf-8 -*-

class solution:

def power(self, base, exponent):

# write code here

return pow(base,exponent)

12 數值的整數次方

題目 給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。思路 很自然的會想到用迭代。但是也可以用二分法來解決問題,時間複雜度為o logn 個人覺得,這個題目最難的是有很多邊界問題需要考慮。public class solution els...

12 數值的整數次方

數值的整數次方 給定乙個double型別的浮點數base和乙個int型別的整數exponent。求base的exponent次方 思路 全面考察底數是否為0,以及指數的正負等邊界情況 求a的n次方 一種效率高的求法 當n為偶數時,a n a n 2 a n 2 當n為基數時,a n a n 1 2 ...

12 數值的整數次方

給定乙個 double 型別的浮點數 base 和 int 型別的整數 exponent,求 base 的 exponent 次方。下面的討論中 x 代表 base,n 代表 exponent。因為 x x n 2 可以通過遞迴求解,並且每次遞迴 n 都減小一半,因此整個演算法的時間複雜度為 o l...