Consecutive primes with ascending or descending differences: Difference between revisions
Content added Content deleted
(→{{header|jq}}: +=) |
Alextretyak (talk | contribs) (Added 11l) |
||
Line 11: | Line 11: | ||
<br><br> |
<br><br> |
||
=={{header|11l}}== |
|||
{{trans|Python}} |
|||
<lang 11l>F primes_upto(limit) |
|||
V is_prime = [0B] * 2 [+] [1B] * (limit - 1) |
|||
L(n) 0 .< Int(limit ^ 0.5 + 1.5) |
|||
I is_prime[n] |
|||
L(i) (n * n .. limit).step(n) |
|||
is_prime[i] = 0B |
|||
R enumerate(is_prime).filter((i, prime) -> prime).map((i, prime) -> i) |
|||
V primelist = primes_upto(1'000'000) |
|||
V listlen = primelist.len |
|||
V pindex = 1 |
|||
V old_diff = -1 |
|||
V curr_list = [primelist[0]] |
|||
[Int] longest_list |
|||
L pindex < listlen |
|||
V diff = primelist[pindex] - primelist[pindex - 1] |
|||
I diff > old_diff |
|||
curr_list.append(primelist[pindex]) |
|||
I curr_list.len > longest_list.len |
|||
longest_list = curr_list |
|||
E |
|||
curr_list = [primelist[pindex - 1], primelist[pindex]] |
|||
old_diff = diff |
|||
pindex++ |
|||
print(longest_list) |
|||
pindex = 1 |
|||
old_diff = -1 |
|||
curr_list = [primelist[0]] |
|||
longest_list.drop() |
|||
L pindex < listlen |
|||
V diff = primelist[pindex] - primelist[pindex - 1] |
|||
I diff < old_diff |
|||
curr_list.append(primelist[pindex]) |
|||
I curr_list.len > longest_list.len |
|||
longest_list = curr_list |
|||
E |
|||
curr_list = [primelist[pindex - 1], primelist[pindex]] |
|||
old_diff = diff |
|||
pindex++ |
|||
print(longest_list)</lang> |
|||
{{out}} |
|||
<pre> |
|||
[128981, 128983, 128987, 128993, 129001, 129011, 129023, 129037] |
|||
[322171, 322193, 322213, 322229, 322237, 322243, 322247, 322249] |
|||
</pre> |
|||
=={{header|ALGOL 68}}== |
=={{header|ALGOL 68}}== |