Jump to content

Ulam numbers: Difference between revisions

m
→‎{{header|Phix}}: added XPL0's t<=2 trick for a 3.75x speed-up
(→‎{{header|Go}}: Added a third version based on the XPL0 algorithm.)
m (→‎{{header|Phix}}: added XPL0's t<=2 trick for a 3.75x speed-up)
Line 350:
sieve &= repeat(0,s-length(sieve))
for i=1 to length(ulams)-1 do
sieve[s = u+ulams[i]] += 1
t = sieve[s]+1
if t<=2 then
sieve[s] = t
end if
end for
u = find(1,sieve,u+1)
Line 380 ⟶ 384:
The Haskell entry does not compile for me on either tio or repl.it<br>
 
The above algorithm can also yield "The 100,000th Ulam number is 1,351,223" in 41 minutesminute and 14s40s, for me.
<small>(I fully expect translations of this better algorithm to run even faster, btw)</small>
 
7,818

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.