summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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