1. Learn
  2. /
  3. Courses
  4. /
  5. Rcpp で R コードを最適化する

Connected

Exercise

for ループからの脱出(break)

ときには、すべての反復が終わる前にループを抜けたいことがあります。たとえば、すべての可能性を試す前に目的が達成できる場合です。break キーワードを使うと、ループを途中で抜けられます。

コードのパターンは次のとおりです。

for(int i = 0; i < n; i++) {
  // Do something

  // Test for exiting early
  if(breakout_condition) break;

  // Otherwise carry on as usual
}

ここでは、値の変化が小さくなった時点(しきい値に基づく)でループが止まるように、前の例を作り直します。関数は List を返すように変更されています(List については次の章で学びます)。これにより、各反復での近似値を確認できます。

この変更後の sqrt_approx() 関数は、平方根と、そのしきい値に基づいて結果に到達するまでにかかった反復回数の両方を返します。

Instructions

100 XP

解が十分良い場合(変数 is_good_enough に基づく)に発火する break 条件を追加してください。