Skip to content

Commit 83651e5

Browse files
committed
[Euler] Add #27.
1 parent bb06d1f commit 83651e5

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

euler/prob027-shlomif.pl

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
use v6;
2+
3+
sub is_prime(Int $n) returns Bool
4+
{
5+
if ($n <= 1)
6+
{
7+
return False;
8+
}
9+
10+
for (2 .. $n.sqrt.floor) -> $i
11+
{
12+
if $n % $i == 0
13+
{
14+
return False;
15+
}
16+
}
17+
18+
return True;
19+
}
20+
21+
my (Int $max_a, Int $max_b);
22+
23+
my Int $max_iter = 0;
24+
for (0 .. 999) -> $b_coeff
25+
{
26+
for ((-$b_coeff+1) .. 999) -> $a_coeff
27+
{
28+
my $n = 0;
29+
while is_prime($b_coeff+$n*($n+$a_coeff))
30+
{
31+
$n++;
32+
}
33+
$n--;
34+
35+
if ($n > $max_iter)
36+
{
37+
($max_a, $max_b, $max_iter) = ($a_coeff, $b_coeff, $n);
38+
}
39+
}
40+
}
41+
say "a = $max_a ; b = $max_b ; a*b = {$max_a*$max_b} ; n = $max_iter\n"
42+

0 commit comments

Comments
 (0)