From 365b396db1714fe08092f21157a80e0a2c95798d Mon Sep 17 00:00:00 2001 From: filifa Date: Tue, 7 Oct 2025 17:57:00 -0400 Subject: [PATCH] use common updateMultiples --- internal/lib/sieve/radical.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/lib/sieve/radical.go b/internal/lib/sieve/radical.go index e8bb00d..6804630 100644 --- a/internal/lib/sieve/radical.go +++ b/internal/lib/sieve/radical.go @@ -54,7 +54,12 @@ func Radical(n uint, buflen uint) chan uint { } sieve[i] = i - radicalUpdateMultiples(sieve, i, n) + for j := i; i*j < n; j *= i { + // rad(p^k) = rad(p) + sieve[i*j] = sieve[i] + } + + updateMultiples(sieve, i, n) ch <- sieve[i] } }()