开始使用免费开始使用

使用 while 循环计算平方根

while 循环会一直迭代,直到条件不再满足为止。C++ 中 while 循环的语法与 R 相同。

while(condition) {
  // Do something
}

本练习是课程的一部分

用 Rcpp 优化 R 代码

查看课程

练习说明

请编写 while 循环,使其在 is_good_enough 的值为 false 时持续迭代。

交互式实操练习

通过完成这段示例代码来试试这个练习。

#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)
*/
编辑并运行代码