41은 소수이면서 다음과 같은 6개의 연속된 소수의 합으로도 나타낼 수 있습니다.
41 = 2 + 3 + 5 + 7 + 11 + 13
이것은 100 이하에서는 가장 길게 연속된 소수의 합으로 이루어진 소수입니다.
1000 이하에서는 953이 연속된 소수 21개의 합으로 가장 깁니다.
1백만 이하에서는 어떤 소수가 가장 길게 연속되는 소수의 합으로 표현될 수 있습니까?
백만 이하의 소수를 모두 구해 배열에 넣어 놓고 구하자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#!/usr/bin/env perl use 5.010; use strict; use warnings; use Math::Prime::Util ':all'; my @p = @{primes(1000000)}; my $n = 0; my $d = 0; for my $i (0..$#p) { my $t = 0; for my $j (0..$#p) { last if not defined $p[$i+$j]; $t += $p[$i+$j]; last if ($t > 1000000); if (is_prime($t) and $d < $j) { $n = $t; $d = $j; } } } say $n; |