100 Arranged probability.sf 377 B

12345678910111213141516171819202122
  1. #!/usr/bin/ruby
  2. # Daniel "Trizen" Șuteu
  3. # Date: 17 February 2017
  4. # License: GPLv3
  5. # https://github.com/trizen
  6. # https://projecteuler.net/problem=100
  7. # Runtime: 0.118s
  8. for m in (1 .. Inf) {
  9. var n = (-(1 - sqrt(2)) * (3 + 2*sqrt(2))**m - 2)/4
  10. if (n > 1e12) {
  11. var b = (-(sqrt(2) - 2) * (3 + 2*sqrt(2))**m + 4)/8
  12. say b.round(0)
  13. break
  14. }
  15. }