시작하기무료로 시작하기

다시 한 번: do-while 루프

R의 repeat 루프는 C++에서는 do while 루프라고 합니다. while 루프와 달리 조건을 루프의 끝으로 옮겨, 루프 본문이 최소 한 번은 실행되도록 보장합니다. 문법은 다음과 같습니다:

do {
  // Do something
} while(condition);

while 조건 뒤의 세미콜론에 주의하세요.

이 연습은 강의의 일부입니다

Rcpp로 R 코드 최적화하기

강의 보기

연습 안내

  • do 문으로 루프를 시작하세요.
  • 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;
    
    // Initiate do while loop
    ___ {
        previous = x;
        x = (x + value / x) / 2.0;
        is_good_enough = fabs(x - previous) < threshold;
    // Specify while condition
    } ___
    
    return x;
}

/*** R
sqrt_approx(2, 0.00001)
*/
코드 편집 및 실행