1. 学ぶ
  2. /
  3. コース
  4. /
  5. Rcpp で R コードを最適化する

Connected

演習

for ループで平方根を計算する

R と同様に、C++ の for ループは、各反復でインデックス値だけを変えながら、同じコードを指定回数だけ実行します。ただし、for ループの構文は R より少し複雑です。

for(int i = 0, i < n, i++) {
  // Do something
}
  • int i = 0 はインデックスを整数(最も一般的なケース)として宣言し、最初の反復で値を 0 に設定します。
  • i < n は反復条件を設定します。i が n に達するとこの条件は偽になり、ループは停止します。
  • i++ は各反復で i の値を 1 増やすことを意味します。

ここでは、Babylonian method を使って平方根を計算する関数定義を完成させます。(実際のコードでは、より高速な現代的アルゴリズムを使う sqrt() を使用するのがよいです。)

指示

100 XP
  • ローカルな double 変数 x を 1 に初期化します。
  • for ループを指定します。
    • 整数 i を 0 に初期化します。
    • 反復条件を i が n より小さいことに設定します。
    • 各ステップで i を 1 ずつ増やします。