【基础入门题】Golang 002. 求质因数的个数
求一个正整数 n 的所有质因数中不相同的个数。
Factor(6) = 2; Factor(7) = 1; Factor(1260) = 4
方法一:
package main
import "fmt"
func Factor(number int) int {
result := 0
for i, j := 2, number; i <= number; i++ {
if j%i == 0 {
result++
for j%i == 0 {
j /= i
}
}
}
return result
}
func main() {
var nums = []int{6, 7, 1260}
fmt.Println("循环方式一:")
for i := 0; i < len(nums); i++ {
fmt.Printf("%d的质因数有:%d个。\n", nums[i], Factor(nums[i]))
}
fmt.Println("\n循环方式二:")
for _, val := range nums {
fmt.Printf("%d的质因数有:%d个。\n", val, Factor(val))
}
}
方法二:
package main
import "fmt"
func isPrime(i int) bool {
result := true
for j := 2; j < i; j++ {
if i%j == 0 {
result = false
break
}
}
return result
}
func Factor(number int) int {
result := 0
for i := 2; i <= number; i++ {
if number%i == 0 && isPrime(i) {
result++
}
}
return result
}
func main() {
var nums = [3]int{6, 7, 1260}
for _, val := range nums {
fmt.Printf("%d的质因数有:%d个。\n", val, Factor(val))
}
}
欢迎加入CSDN社区!
https://bbs.csdn.net/forums/PythonTogether
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/boysoft2002/article/details/121639598
内容来源于网络,如有侵权,请联系作者删除!