diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-12-11 08:18:00 -0500 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-12-11 08:18:00 -0500 |
| commit | feeb63e7c4bc7a608f513ff350094d7f9b93e497 (patch) | |
| tree | 0de83b0e40a7076237c10623bc678a65a52f9a71 | |
| parent | 28330b37ce2ae621c157dbf296c5e3b637167f4f (diff) | |
Fix up the prime sieve
| -rw-r--r-- | examples/fifty.bqn | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/examples/fifty.bqn b/examples/fifty.bqn index c514ad7d..1b31814e 100644 --- a/examples/fifty.bqn +++ b/examples/fifty.bqn @@ -226,21 +226,23 @@ CRT ← { ! 2‿¯1‿1 ≡ 4 XEA 6 ! 12‿9 ≡ 4‿1 CRT 6‿3 -# 46 (not working yet) +# 46 Sieve←{ 4≥𝕩 ? 𝕩⥊0‿0‿1‿1; 𝕊 n: r←⌊√n p ← 2‿3‿5‿7‿11‿13‿17‿19‿23‿29‿31‿37‿41‿43 - p ↩ •Show (1+⊑(n≤×`p)⊐⥊1)↑p - b ← 0⌾(0⊸⊑)⋈ {(m⥊𝕩)>m⥊𝕨↑1 ⊣ m←n⌊𝕨×≢𝕩}´ ⌽1∾p + p ↩ (1+(×`p)⊸⍋⌾<n-1)↑p + b ← 0⌾(1⊸⊑) 1 {m←n⌊𝕨×≠𝕩 ⋄ (m⥊𝕩)>m⥊𝕨↑1}´ ⌽p { - r<⊑b⊐⥊1 ? b⊣b ↩ 1⌾(𝕩⊸⊑)b; - q←⊑b⊐⥊1 - b ↩ 0⌾((q∾q×/b↑˜⌈n÷q)⊸⊑) b + r≥q←b⊸⊐⌾<1 ? + b 0¨⌾((q∾q×/b↑˜⌈n÷q)⊸⊏)↩ 𝕊 𝕩∾q + ; + b 1¨⌾(𝕩⊸⊏)↩ }p } +! 2‿3‿5‿7‿11‿13‿17‿19‿23‿29 ≡ /Sieve 30 # 47 Pg ← •rand.Deal{ |
