blob: 024391e300fb0c0ece607eab9065bf1e1adadbbb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
package factors
// MTC returns the multiplication table complexity of a radix n.
// This is an estimate of how difficult it is to learn a radix's
// multiplication table.
func MTC(n uint32) uint64 {
mtc := uint64(0)
for i := uint32(2); i <= n-2; i++ {
mtc += uint64(n / gcd(i, n))
}
return mtc
}
func gcd(a, b uint32) uint32 {
for b > 0 {
a, b = b, a%b
}
return a
}
|