/* 一. 好多鱼 https://www.nowcoder.com/test/question/e3dd485dd23a42899228305658457927?pid=4236887&tid=31686442 */ package main import ( "fmt" ) var rangeSize [1001]int var minSize, maxSize int func main() { var n int var tmp int _, _ = fmt.Scanf("%d %d", &minSize, &maxSize) _, _ = fmt.Scanf("%d", &n) for i := 0; i < n; i++ { _, _ = fmt.Scanf("%d", &tmp) rangeSize[tmp] = 1 ignore(tmp) } tmp = 0 for i := minSize; i <= maxSize; i++ { if canput(i) { tmp++ ignore(i) //fmt.Println(i) } } //fmt.Println() //for i := minSize; i <= maxSize; i++ { // if rangeSize[i] != -1 { // fmt.Print(i, " ") // } //} // //fmt.Println() fmt.Print(tmp) } func ignore(fish int) { var size int for i := 2; i <= 10; i++ { size = i * fish if size <= 1000 { rangeSize[size] = -1 } size = fish / i if fish <= i && fish%i == 0 && size >= 1 { rangeSize[size] = -1 } } } // -1 表示不能放 0 表示可以放 1 表示原来就有 func canput(fish int) bool { if rangeSize[fish] == -1 { return false } if rangeSize[fish] == 1 { return true } for i := 2; i <= 10; i++ { if i*fish <= maxSize { if rangeSize[i*fish] == 1 { return false } } } return true } /*input 1 12 1 1 1 36 1 3 2 3 4 5 31 32 33 34 35 36 2 3 5 7 11 13 17 19 23 29 31 32 36 */