blob: 9df6c5f6a2be0f27661090b324b96cba39b8ed8b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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";
|