质数与约数
什么是质数
质数的判定
package main import ( "bufio" "fmt" "os" "strconv" "strings" ) func main() { var reader = bufio.NewReader(os.Stdin) var n = readInt(reader) for i := 0; i < n; i++ { var num = readInt(reader) fmt.Println(okString(num)) } } func okString(num int) string { if ok(num) { return "Yes" } return "No" } func ok(num int) bool { if num <= 1 { return false } for i := 2; i < num/i+1; i++ { if num%i == 0 { return false } } return true } func readLine(reader *bufio.Reader) string { var line, _ = reader.ReadString('\n') return strings.TrimRight(line, "\n") } func readInt(reader *bufio.Reader) int { var a, _ = strconv.Atoi(readLine(reader)) return a } func readArray(reader *bufio.Reader, sep string) []int { var line = readLine(reader) var strList = strings.Split(line, sep) var nums = make([]int, 0) var err error var v int for i := 0; i < len(strList); i++ { if v, err = strconv.Atoi(strList[i]); err != nil { continue } nums = append(nums, v) } return nums }
分解质因数
筛质数
朴素筛法
埃氏筛法
线性筛法
什么是约数
一个数的所有约数
最后更新于