首页 / 客观题库

Q80423 - 素数筛法1

题目( 单选题 )

下列线性筛的代码片段中,当枚举到质数 p 且 i % p == 0 时,使用 break; 语句停止继续枚举。这样做的主要目的是( )。

for (int i = 2; i <= n; ++i) {
	if (!is_composite[i])
		primes.push_back(i);
	for (int p : primes) {
		if (i * p > n)
			break;
		is_composite[i * p] = true;
		if (i % p == 0)
			break; // 这条语句的目的是?
	}
}

A 保证递归深度不超过 $O(logn)$。

B 保证每个合数只被它的最小质因子筛去一次。

C 保证每个素数都被标记为合数。

D 把筛法时间复杂度提高到 $O(nlogn)$。

意见反馈

    最多上传3张图片,格式为JPG、PNG、JPEG,单张不超过5MB

    注册

    发送验证码

    密码必须包含数字、字母和特殊字符

    找回密码

    发送验证码

    密码必须包含数字、字母和特殊字符

    运行 ID:67149

    • 测试点1:Accepted
    • 用时:0 ms
    • 内存:288 kb
    • 测试点2:Accepted
    • 用时:0 ms
    • 内存:288 kb
    输入
    203
    输出
    203

    test

    测评信息

    错误.in文件下载

    错误.out文件下载

    运行 ID:67149

    2019-01-24 15:06:36