From fada6c2c86e3c5d0673c193f028fe87879b34e14 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sun, 17 May 2009 22:22:03 -0500 Subject: solution for 26 --- 026.pl | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 026.pl diff --git a/026.pl b/026.pl new file mode 100755 index 0000000..9df6c5f --- /dev/null +++ b/026.pl @@ -0,0 +1,27 @@ +#!/usr/bin/perl +use strict; +use warnings; + +sub cycle_length { + my ($n) = @_; + + my $carry = 1; + my $idx = 0; + my %seen; + for my $i (1..$n) { + $carry = ($carry * 10) % $n; + return $idx - $seen{$carry} if exists $seen{$carry}; + $seen{$carry} = $idx++; + } + die "oops! ($n)"; +} + +my ($max, $max_idx) = (0, 0); +for (2..1000) { + my $length = cycle_length($_); + if ($length > $max) { + $max = $length; + $max_idx = $_; + } +} +print "$max_idx\n"; -- cgit v1.2.3