138 Special isosceles triangles.pl 504 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/perl
  2. # Daniel "Trizen" Șuteu
  3. # Date: 15 October 2017
  4. # https://github.com/trizen
  5. # Runtime: 0.008s
  6. # https://projecteuler.net/problem=138
  7. # Simpler solution:
  8. # L(n) = fibonacci(6*n + 3) / 2
  9. # See also:
  10. # https://oeis.org/A007805
  11. use 5.010;
  12. use strict;
  13. use warnings;
  14. my $n = 1;
  15. my $diff = 1;
  16. my $prev = 1;
  17. my $sum = 0;
  18. foreach my $k (1 .. 12) {
  19. $n = $prev * (17 + 1) - $diff;
  20. $sum += $n;
  21. $diff = $prev;
  22. $prev = $n;
  23. say "L($k) = $n";
  24. }
  25. say "\nSum: ", $sum;