题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
package main import ( "fmt" ) func calculatePrimeFactors(n int) []int { var factors []int num := 2 for num * num <= n { if n % num != 0{ num++ } else { n /= num factors = append(factors, num) } } // 剩余的也是一个质因子 if n > 1 { factors = append(factors, n) } return factors } func main() { var n int fmt.Scan(&n) factors := calculatePrimeFactors(n) for i:=0; i<len(factors); i++ { fmt.Printf("%d ", factors[i]) } }
// 本题解是输入一个整数,所以采用 fmt.Scan(&n) 的方式