摘要:
解题思路 这道题要求实现一个高效的素数筛法,能够快速查询第k小的素数。我们使用线性筛法(欧拉筛)来解决这个问题,因为: 线性筛法的时间复杂度是O(n),适合处理大规模数据(n≤10^8) 可以同时记录所有素数,便于后续查询 每个合数只被其最小质因数筛除,效率高 算法特点: 使用vis数组标记合数 p 阅读全文
posted @ 2025-06-12 18:19
季风起
阅读(0)
评论(0)
推荐(0)
摘要:
解题思路 这道题要求计算1到N之间的素数个数。我们可以使用埃拉托斯特尼筛法(埃氏筛)来高效地统计素数数量。 埃氏筛的基本原理: 初始化一个标记数组,假设所有数都是素数 从2开始,将每个素数的倍数标记为非素数 最后统计未被标记的数字数量 优化点: 只需要遍历到√n,因为更大的数的倍数已经被更小的素数标 阅读全文
posted @ 2025-06-12 18:18
季风起
阅读(4)
评论(0)
推荐(0)
摘要:
解题思路 这道题要求找出第 n 小的质数。我们可以使用线性筛法(欧拉筛法)来高效地生成质数列表,然后直接输出第 n 个质数即可。 线性筛法的优势在于: 时间复杂度为 O(n),效率高 每个合数只会被它的最小质因数筛掉,避免了重复计算 可以同时得到质数列表 算法步骤: 初始化一个标记数组 vis,初始 阅读全文
posted @ 2025-06-12 18:16
季风起
阅读(0)
评论(0)
推荐(0)