【发布时间】:2020-07-22 05:53:51
【问题描述】:
我正在尝试解决可以在here 找到的 SPOJ 问题
以下是我的解决方案:
package main
import "fmt"
import "bufio"
import "os"
func main() {
var n, k int
var num int
var divisible int
in := bufio.NewReader(os.Stdin)
fmt.Fscan(in, &n)
fmt.Fscan(in, &k)
for n > 0 {
fmt.Fscan(in, &num)
if num%k == 0 {
divisible++
}
n--
}
fmt.Println(divisible)
}
代码运行良好。这里的问题是我在 SPOJ 中执行它时超时。
我最初只使用fmt.Scan,但后来我遇到this 线程建议我使用bufio 来加快输入扫描速度。
但我仍然遇到超时问题。我只是循环获取所有输入,并且在这个循环本身中我确定输入是否可分。所以,我相信这不是循环,而是需要时间的输入扫描。如何改进这一点以更快地读取输入?还是其他地方的问题?
【问题讨论】: