Dart: Structured web apps [3] 1からnまで合計を計算するプログラム

簡単な問題。1からnまで合計を計算するプログラムを作成。

sum0は普通にfor文を使って計算。sum1は公式を使って計算。nかn+1のどちらかが2の倍数になるので必ず割りきれるのですが、(n+1)*n/2とするとdouble型になるのでDartEditorが警告を出します。ということで、double.toInt()を呼び出しています。sum2は再帰的呼び出し。

int sum0(int n) {
  int sum = 0;
  for (int i=1 ; i<=n ; i++) {
    sum += i;
  }
  return sum;
}
int sum1(int n) {
  return ((1+n)*n/2).toInt(); // doubleになるのでtoInt()
}
int sum2(int n) {
  if (n == 0) {
    return 0;
  } else {
    return sum2(n-1) + n;
  }
}

void main() {
  print("sum0(10):" + sum0(10));
  print("sum1(10):" + sum1(10));
  print("sum2(10):" + sum2(10));
}

同じタグの記事: Dart
同じタグの記事: dartlang
同じカテゴリの記事: Program