138 / 205
LeetCode · MediumO'rta20 ball· ~20 daqiqa

Pow(x, n)

Sizga o'nli kasr ko'rinishidagi x va butun son n berilgan. x sonini n chi darajaga ko'tarib qaytaring, ya'ni $x^n$ ni hisoblang.

Sizning yechimingiz tayyor pow funksiyasidan foydalanmasdan ishlashi tavsiya etiladi.

example.go
func solve(x float64, n int) float64 {
    // ...
}

Misollar

kod
Input: x = 2.00000, n = 10
Output: 1024.00000
kod
Input: x = 2.10000, n = 3
Output: 9.261
kod
Input: x = 2.00000, n = -2
Output: 0.25

Maslahatlar

  1. x ni n marta ketma-ket ko'paytirish o'rniga, "tez darajaga ko'tarish" (fast exponentiation / binary exponentiation) usulini o'ylab ko'ring — bu yerda daraja har safar ikkiga bo'linadi.
  2. Agar n manfiy bo'lsa, x ni 1/x ga almashtirib n ni musbatga aylantiring; keyin n ni ikkiga bo'lib boruvchi siklda: agar n toq bo'lsa natijaga joriy x ni ko'paytiring, so'ng x ni o'ziga ko'paytiring (kvadratga ko'taring) va n ni ikkiga bo'ling (butun bo'lish) — n nolga tushguncha davom eting.