use for loop constructs
This commit is contained in:
parent
2fd9b940d5
commit
bfef2a0001
|
|
@ -40,8 +40,7 @@ func pow(base uint, exp uint) uint {
|
|||
}
|
||||
|
||||
func updateMultiples(sieve []uint, x uint, p uint, n uint) {
|
||||
q := p
|
||||
for {
|
||||
for q := p; ; q *= p {
|
||||
// sigma_x(a*b) = sigma_x(a) * sigma_x(b) if gcd(a,b) = 1
|
||||
for i := 2 * q; i < n; i += q {
|
||||
if i%(p*q) != 0 {
|
||||
|
|
@ -55,7 +54,6 @@ func updateMultiples(sieve []uint, x uint, p uint, n uint) {
|
|||
|
||||
// sigma_x(p^k) = p^(kx) + sigma_x(p^(k-1))
|
||||
sieve[p*q] = pow(p*q, x) + sieve[q]
|
||||
q *= p
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue