From e0e6cbd3cedb13b2180773ad2892aa081026dc09 Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Mon, 30 Oct 2023 13:59:27 -0500 Subject: Improve readability of PrimeFactorization.String --- factors/prime_factorization.go | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'factors') diff --git a/factors/prime_factorization.go b/factors/prime_factorization.go index d9f11e5..52df2c1 100644 --- a/factors/prime_factorization.go +++ b/factors/prime_factorization.go @@ -69,19 +69,15 @@ func (factors PrimeFactorization) Size() int { // String returns a string representation of the prime factorization, // which looks like "2^2 × 3". func (factors PrimeFactorization) String() string { - parts := make([]string, 0, factors.Size()) - primes := make([]int, 0, factors.Size()) - for p := range factors.exponents { - primes = append(primes, int(p)) - } - slices.Sort(primes) + primesSorted := factors.Primes() + slices.Sort(primesSorted) - for _, p := range primes { - if factors.Exponent(uint(p)) == 1 { + parts := make([]string, 0, factors.Size()) + for _, p := range primesSorted { + if factors.Exponent(p) == 1 { parts = append(parts, fmt.Sprintf("%d", p)) } else { - parts = append(parts, fmt.Sprintf("%d^%d", p, - factors.Exponent(uint(p)))) + parts = append(parts, fmt.Sprintf("%d^%d", p, factors.Exponent(p))) } } return strings.Join(parts, " × ") -- cgit v1.2.3