我正在尝试实现一种算法来查找低于某个限制的所有素数。但是,当达到限制时,46350我突然收到一条out of range错误消息:
panic: runtime error: index out of range
goroutine 1 [running]:
main.main()
/tmpfs/gosandbox-433...fd004/prog.go:16 +0x1a8
任何帮助我指出这里有什么问题的帮助表示赞赏(这个神奇的数字46350是从哪里来的?)。
要重现将以下代码放入googles 沙箱并取消注释limit++(或使用此链接):
package main
func main() {
limit := 46349
//limit++
sieved_numbers := make([]bool, limit)
var j = 0
var i = 2
for ; i < limit; i++ {
if !sieved_numbers[i] {
for j = i * i; j < limit;j += i {
sieved_numbers[j] = true
}
}
}
}
MM们
蝴蝶不菲
慕田峪4524236
相关分类