Data update
This commit is contained in:
parent
4bb20c9b71
commit
cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions
|
|
@ -13,8 +13,11 @@ fastproc mksieve .
|
|||
.
|
||||
mksieve
|
||||
fastfunc nextprime n .
|
||||
n += 1
|
||||
while sieve[n] = 1 : n += 1
|
||||
repeat
|
||||
n += 1
|
||||
if n > len sieve[] : return 0
|
||||
until sieve[n] = 0
|
||||
.
|
||||
return n
|
||||
.
|
||||
func isprim n .
|
||||
|
|
|
|||
|
|
@ -1,26 +1,24 @@
|
|||
(phixonline)-->
|
||||
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
|
||||
<span style="color: #008080;">constant</span> <span style="color: #000000;">primes</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">get_primes_le</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1_000_000</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">procedure</span> <span style="color: #000000;">test</span><span style="color: #0000FF;">(</span><span style="color: #004080;">sequence</span> <span style="color: #000000;">differences</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #004080;">sequence</span> <span style="color: #000000;">res</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{}</span>
|
||||
<span style="color: #004080;">integer</span> <span style="color: #000000;">ld</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">differences</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">primes</span><span style="color: #0000FF;">)-</span><span style="color: #000000;">ld</span> <span style="color: #008080;">do</span>
|
||||
<span style="color: #004080;">integer</span> <span style="color: #000000;">pi</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">primes</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">]</span>
|
||||
<span style="color: #008080;">for</span> <span style="color: #000000;">j</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #000000;">ld</span> <span style="color: #008080;">do</span>
|
||||
<span style="color: #000000;">pi</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">differences</span><span style="color: #0000FF;">[</span><span style="color: #000000;">j</span><span style="color: #0000FF;">]</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #000000;">pi</span><span style="color: #0000FF;">!=</span><span style="color: #000000;">primes</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">+</span><span style="color: #000000;">j</span><span style="color: #0000FF;">]</span> <span style="color: #008080;">then</span>
|
||||
<span style="color: #000000;">pi</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">0</span>
|
||||
<span style="color: #008080;">exit</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #000000;">pi</span><span style="color: #0000FF;">!=</span><span style="color: #000000;">0</span> <span style="color: #008080;">then</span>
|
||||
<span style="color: #000000;">res</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">append</span><span style="color: #0000FF;">(</span><span style="color: #000000;">res</span><span style="color: #0000FF;">,</span><span style="color: #000000;">primes</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">..</span><span style="color: #000000;">i</span><span style="color: #0000FF;">+</span><span style="color: #000000;">ld</span><span style="color: #0000FF;">])</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
|
||||
<span style="color: #000000;">res</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{</span><span style="color: #000000;">differences</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">res</span><span style="color: #0000FF;">),</span><span style="color: #000000;">res</span><span style="color: #0000FF;">[</span><span style="color: #000000;">1</span><span style="color: #0000FF;">],</span><span style="color: #000000;">res</span><span style="color: #0000FF;">[$]}</span>
|
||||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%8V : %8d %14V...%V\n"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">res</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">procedure</span>
|
||||
with javascript_semantics
|
||||
constant primes = get_primes_le(1_000_000)
|
||||
procedure test(sequence differences)
|
||||
sequence res = {}
|
||||
integer ld = length(differences)
|
||||
for i=1 to length(primes)-ld do
|
||||
integer pi = primes[i]
|
||||
for j=1 to ld do
|
||||
pi += differences[j]
|
||||
if pi!=primes[i+j] then
|
||||
pi = 0
|
||||
exit
|
||||
end if
|
||||
end for
|
||||
if pi!=0 then
|
||||
res = append(res,primes[i..i+ld])
|
||||
end if
|
||||
end for
|
||||
res = {differences,length(res),res[1],res[$]}
|
||||
printf(1,"%8V : %8d %14V...%V\n",res)
|
||||
end procedure
|
||||
|
||||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"Differences Count First Last\n"</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #7060A8;">papply</span><span style="color: #0000FF;">({{</span><span style="color: #000000;">2</span><span style="color: #0000FF;">},{</span><span style="color: #000000;">1</span><span style="color: #0000FF;">},{</span><span style="color: #000000;">2</span><span style="color: #0000FF;">,</span><span style="color: #000000;">2</span><span style="color: #0000FF;">},{</span><span style="color: #000000;">2</span><span style="color: #0000FF;">,</span><span style="color: #000000;">4</span><span style="color: #0000FF;">},{</span><span style="color: #000000;">4</span><span style="color: #0000FF;">,</span><span style="color: #000000;">2</span><span style="color: #0000FF;">},{</span><span style="color: #000000;">6</span><span style="color: #0000FF;">,</span><span style="color: #000000;">4</span><span style="color: #0000FF;">,</span><span style="color: #000000;">2</span><span style="color: #0000FF;">}},</span><span style="color: #000000;">test</span><span style="color: #0000FF;">)</span>
|
||||
<!--
|
||||
printf(1,"Differences Count First Last\n")
|
||||
papply({{2},{1},{2,2},{2,4},{4,2},{6,4,2}},test)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
local int = require "int"
|
||||
local fmt = require "fmt"
|
||||
require "table2"
|
||||
|
||||
local function successive_primes(primes, diffs)
|
||||
local results = {}
|
||||
local dl = #diffs
|
||||
for i = 1, #primes - dl do
|
||||
local group = table.rep(dl + 1, 0)
|
||||
group[1] = primes[i]
|
||||
for j = i, i + dl - 1 do
|
||||
if primes[j + 1] - primes[j] != diffs[j - i + 1] then
|
||||
continue 2
|
||||
end
|
||||
group[j - i + 2] = primes[j + 1]
|
||||
end
|
||||
results:insert(group)
|
||||
end
|
||||
return results
|
||||
end
|
||||
|
||||
local primes = int.primes(999_999)
|
||||
local diffs_list = { {2}, {1}, {2, 2}, {2, 4}, {4, 2}, {6, 4, 2} }
|
||||
print("For primes less than 1,000,000:-\n")
|
||||
for diffs_list as diffs do
|
||||
print($" For differences of {fmt.swrite(diffs)} ->")
|
||||
local sp = successive_primes(primes, diffs)
|
||||
if #sp == 0 then
|
||||
print(" No groups found\n")
|
||||
continue
|
||||
end
|
||||
print($" First group = {fmt.swrite(sp[1])}")
|
||||
print($" Last group = {fmt.swrite(sp[#sp])}")
|
||||
print($" Number found = {#sp}\n")
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue