题解 | #质数因子#

质数因子

https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607

package main

import (
	"fmt"
	"math"
	"strings"
    "bufio"
    "strconv"
    "os"
)

func main() {
	r := bufio.NewReader(os.Stdin)
	b, _, err := r.ReadLine()
	if err != nil {
		return
	}

	d, err := strconv.Atoi(string(b))
	if err != nil {
		return
	}
	ls := []int{}
	LookUpPrime(d, &ls)
	lt := []string{}
	for _, v := range ls {
		lt = append(lt, fmt.Sprintf("%d", v))
	}
	fmt.Println(strings.Join(lt, " "))
}

func LookUpPrime(n int, ls *[]int) {
	if n <= 1 {
		return
	}

	if IsPrime(n) {
		*ls = append(*ls, n)
		return
	}

	for i := 2; i <= int(math.Sqrt(float64(n))); i++ {
		if n%i == 0 {
			*ls = append(*ls, i)
			LookUpPrime(n/i, ls)
			break
		}
	}
}

func IsPrime(n int) bool {
	if n <= 1 {
		return false
	}

	for i := 2; i <= int(math.Sqrt(float64(n))); i++ {
		if n%i == 0 {
			return false
		}
	}
	return true
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-26 18:18
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务