Bắt đầu ngayBắt đầu miễn phí

Tính căn bậc hai với vòng lặp while

Vòng lặp while sẽ tiếp tục lặp cho đến khi một điều kiện không còn đúng nữa. Cú pháp của vòng lặp while trong C++ giống như trong R.

while(condition) {
  // Do something
}

Bài tập này là một phần của khóa học

Tối ưu hóa mã R với Rcpp

Xem khóa học

Hướng dẫn bài tập

Khai báo vòng lặp while để nó tiếp tục lặp khi is_good_enough có giá trị false.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

#include 
using namespace Rcpp;

// [[Rcpp::export]]
double sqrt_approx(double value, double threshold) {
    double x = 1.0;
    double previous = x;
    bool is_good_enough = false;
    
    // Specify the while loop
    ___(___) {
        previous = x;
        x = (x + value / x) / 2.0;
        is_good_enough = fabs(x - previous) < threshold;
    }
    
    return x ;
}

/*** R
sqrt_approx(2, 0.00001)
*/
Chỉnh sửa và Chạy Mã