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