Добавить в корзинуПозвонить
Найти в Дзене
Skill Up In IT

50. Pow(x, n)

Реализуйте pow(x, n) , которая вычисляет xвозведенное в степень число n(т.е. ).xn Пример 1: Input: x = 2.00000, n = 10
Output: 1024.00000 Пример 2: Input: x = 2.10000, n = 3
Output: 9.26100 Пример 3: Input: x = 2.00000, n = -2
Output: 0.25000
Explanation: 2-2 = 1/22 = 1/4 = 0.25 Ограничения: Пример решения на go func myPow(x float64, n int) float64 { if n>0{ return calc(x, n) } return 1/calc(x, -n) } func calc(x float64, n int)float64{ if n == 0 { return 1 } if n== 1 { return x } result := calc(x*x, n/2) if n%2 == 1 { result = result*x } return result }

Реализуйте pow(x, n) , которая вычисляет xвозведенное в степень число n(т.е. ).xn

Пример 1:

Input: x = 2.00000, n = 10
Output: 1024.00000

Пример 2:

Input: x = 2.10000, n = 3
Output: 9.26100

Пример 3:

Input: x = 2.00000, n = -2
Output: 0.25000
Explanation: 2-2 = 1/22 = 1/4 = 0.25

Ограничения:

  • -100.0 < x < 100.0
  • -231 <= n <= 231-1
  • n является целым числом.
  • Либо x не равно нулю, либо n > 0.
  • -104 <= xn <= 104

Пример решения на go

func myPow(x float64, n int) float64 {
if n>0{
return calc(x, n)
}
return 1/calc(x, -n)
}
func calc(x float64, n int)float64{
if n == 0 {
return 1
}
if n== 1 {
return x
}
result := calc(x*x, n/2)
if n%2 == 1 {
result = result*x
}
return result
}