Factorial Approximation

A
import 'dart:math';

/// Approximation for gamma(x + 1) discovered by Srinivasa Ramanujanea
double factorial(double x) {
  return sqrt(pi) *
      pow(x / e, x) *
      pow(8 * pow(x, 3) + 4 * pow(x, 2) + x + 1 / 30, 1 / 6);
}

main() {
  for (int i = 0; i < 10; i++) {
    print("$i! ~= ${factorial(i.toDouble())}");
  }
}