summaryrefslogtreecommitdiffstats
path: root/092.pl
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2009-05-16 15:49:51 -0500
committerJesse Luehrs <doy@tozt.net>2009-05-16 15:49:51 -0500
commit7a8c5653997e037593bf393c2cf2715a56e3ff48 (patch)
tree69824dd93d89202560cf42a9941f902411e90515 /092.pl
parent27b1cc1f9fdab403a743bd328cd212b4f9e9beff (diff)
downloadprojecteuler-7a8c5653997e037593bf393c2cf2715a56e3ff48.tar.gz
projecteuler-7a8c5653997e037593bf393c2cf2715a56e3ff48.zip
solution for 92
Diffstat (limited to '092.pl')
-rwxr-xr-x092.pl28
1 files changed, 28 insertions, 0 deletions
diff --git a/092.pl b/092.pl
new file mode 100755
index 0000000..d4da49d
--- /dev/null
+++ b/092.pl
@@ -0,0 +1,28 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use 5.010;
+use List::Util qw/sum/;
+
+my @decided;
+
+for my $n (1..1e7) {
+ my $test = $n;
+ LOOP: {
+ if ($test == 1) {
+ $decided[$n] = 0;
+ }
+ elsif ($test == 89) {
+ $decided[$n] = 1;
+ }
+ elsif ($decided[$test]) {
+ $decided[$n] = $decided[$test];
+ }
+ else {
+ my @test = split //, $test;
+ $test = sum map { $_**2 } @test;
+ redo;
+ }
+ }
+}
+say scalar grep { $_ } @decided