Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ tìm căn bậc ba của số

Tìm căn bậc ba của số. Ví dụ 27 → 3. Không dùng hàm thư viện, dùng tìm kiếm nhị phân.

Bước: ngưỡng threshold = 0.000001. left=0, right=số. mid=(left+right)/2. Nếu |số - mid³| < threshold → trả về mid. Nếu mid³ > số → right=mid. Nếu mid³ < số → left=mid.

Ví dụ mã nguồn

#include <iostream>
#include <cmath>
using namespace std;

double cubeRoot(int num) {
    double threshold = 0.000001;
    double left = 0, right = num;
    double mid;
    while (left <= right) {
        mid = (left + right) / 2;
        if (abs(num - (mid*mid*mid)) < threshold)
            return mid;
        if ((mid*mid*mid) > num)
            right = mid;
        if ((mid*mid*mid) < num)
            left = mid;
    }
}

int main() {
    int n = 3;
    cout << "cube root of 3 is: " << cubeRoot(n);
}

Kết quả đầu ra

cube root of 3 is: 1.44225