[刷题日记]华为机试题:质数因子
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
输入要求:输入一个long型整数
输出要求:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格
package main
import "fmt"
func onNum(a int) ([]int,int){
nums := make([]int,30)
nums[0] = a
j := 0
for i := 2; i <= a; i++{
if a%i == 0{
nums[j] = i
j++
a /= i
i = 1
}
}
return nums,j
}
func main() {
var n int
fmt.Scan(&n)
nums,j := onNum(n)
for i := 0; i<j; i++{
fmt.Printf("%v ",nums[i])
}
}
程序小白,只愿努力能实现自己的目标。