package main import ( "aphopkins/radix_info/factors" "fmt" "math" "os" "slices" "strconv" ) func main() { if len(os.Args) > 1 { if n, err := strconv.ParseUint(os.Args[1], 0, 0); err == nil { if n > 1 { n := uint(n) fmt.Println(n, "=", factors.PrimeFactorize(n)) n_factors := factors.Factors(n) slices.Sort(n_factors) factorScore := factors.Score(n) fmt.Printf("Factors: %v (Score: %.2f)\n", n_factors, factorScore) fmt.Printf("Totative Ratio: %03.1f%%\n", factors.TotativeRatio(n)*100.0) fmt.Println("2345 Rank:", factors.BasicRank(n)) fmt.Println("Multiplication Table Complexity:", factors.MTC(n)) fmt.Printf("Natural Logarithm: %.2f\n", math.Log(float64(n))) } else { fmt.Println("Argument must be an integer above 1.") } } else { fmt.Printf("Argument must be an integer above 1 [%v].\n", err) } } else { fmt.Println("Please provide an argument (radix to study).") } }