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
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)
*/