1. 错误。 $init()$ 函数调用结束后,$m$ 的值为 $1 \sim 1000$ 范围内素数的个数,虽然我们不能很快得出这个结果,但是容易发现 $1 \sim 1000$ 范围内素数的个数肯定比非素数的个数要少,所以 $m$ 不可能是 $500$ 。
2. 正确。 $init()$ 函数调用结束后,所以素数 $i$ 对应的 $f[i]$ 均为 $0$,所有非素数 $i$ 对应的 $f[i]$ 均为 $1$。因为 $103$ 是素数,所以 $f[103]=0$。
3. 正确。 $g[1000]$ 表示的是 $1 \sim 1000$ 中非素数的个数, $m$ 表示的是 $1 \sim 1000$ 中素数的个数,所以 $g[1000]+m$ 等于 $1000$。
4. B。因为 $123$ 不是素数,所以 $f[123]=1$。
5. C。 $g[30]$ 表示 $1 \sim 30$ 范围内非素数的个数,$1 \sim 30$ 范围内共有 $20$ 个非素数,所以 $f[30]=20$。
6. B。 $p[i]$ 表示第 $i$ 个素数,我们可以依次列举出前 $25$ 个素数:$2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97$,可得第 $25$ 个素数 $p[25]=97$。