summaryrefslogtreecommitdiff
path: root/factors/totative.go
diff options
context:
space:
mode:
Diffstat (limited to 'factors/totative.go')
-rw-r--r--factors/totative.go10
1 files changed, 5 insertions, 5 deletions
diff --git a/factors/totative.go b/factors/totative.go
index abbbe89..d1947b6 100644
--- a/factors/totative.go
+++ b/factors/totative.go
@@ -1,7 +1,7 @@
package factors
-// Totient calculates the number of numbers less than n that
-// are totatives of n (share no factors with n)
+// Totient calculates the number of numbers between 1 and n inclusive
+// that are totatives of n (share no factors with n)
func Totient(n uint) uint {
if n == 0 {
return 0
@@ -18,12 +18,12 @@ func Totient(n uint) uint {
return num * (n / denom)
}
-// TotativeDigits returns a slice containing every number less than r
-// that is a totative of r (shares no factors with r).
+// TotativeDigits returns a slice containing every number between 1 and r
+// inclusive that is a totative of r (shares no factors with r).
func TotativeDigits(r uint32) []uint32 {
digits := make([]uint32, Totient(uint(r)))
totativesFound := 0
- for d := uint32(0); d < r; d++ {
+ for d := uint32(1); d <= r; d++ {
if gcd(d, r) == 1 {
digits[totativesFound] = d
totativesFound++