diff options
-rwxr-xr-x | 026.pl | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -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"; |