Consecutive primes with ascending or descending differences: Difference between revisions

Content added Content deleted
(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}}==