030 Digit fifth powers -- v2.pl 465 B

1234567891011121314151617181920212223242526272829
  1. #!/usr/bin/perl
  2. # Daniel "Trizen" Șuteu
  3. # License: GPLv3
  4. # Date: 27 January 2017
  5. # https://github.com/trizen
  6. # https://projecteuler.net/problem=30
  7. # Runtime: 0.798s
  8. use 5.010;
  9. use strict;
  10. use List::Util qw(sum);
  11. # The limit can be found by solving for `k` in the inequality:
  12. # 10^k > k * 9^5
  13. my $sum = 0;
  14. my $k = 5.5125663792347502874;
  15. foreach my $n (2 .. 10**$k) {
  16. if (sum(map { $_**5 } split //, $n) == $n) {
  17. $sum += $n;
  18. }
  19. }
  20. say $sum;