算法练习——数素数

题目

题目描述

令Pi表示第i(i从1开始计数)个素数。现任给两个正整数M <= N <= 10000,请输出PM到PN的所有素数。

输入描述:

输入在一行中给出M和N,其间以空格分隔。

输出描述:

输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。

输入例子:
复制代码
5 27
输出例子:
复制代码
11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103

代码

线性筛素数

cpp 复制代码
#include<iostream>
using namespace std;

const int N = 105000;
int p[N], idx = 1;
bool st[N];

void get_primes() {
    for(int i = 2; i < N; i ++ ) {
        if(!st[i]) p[idx ++ ] = i;
        for(int j = 1; p[j] <= N / i; j ++ ) {
            st[i * p[j]] = true;
            if(i % p[j] == 0) break;
        } 
    }
}

int main() {
    int m, n;
    cin >> m >> n;

    get_primes();

    int cnt = 0;
    for(int i = m; i <= n; i ++ ) {
        if(cnt == 0) printf("%d", p[i]);
        else if(cnt % 10 == 0) printf("\n%d",p[i]);
        else printf(" %d", p[i]);
        cnt ++;
    }
    return 0;
}
相关推荐
LuminousCPP4 分钟前
栈和队列专题(四):LeetCode 232. 用栈实现队列|双栈分工 + 按需迁移 + 摊还 O(1)
c语言·数据结构·笔记·算法·leetcode
纪念 2297 分钟前
二叉树排序讲解(一)
数据结构
tudousisi22226 分钟前
01背包8.21
数据结构·算法
ZJU_统一阿萨姆42 分钟前
【算子开发】Reduction算子完全指南
人工智能·算法·语言模型
鹿角片ljp9 小时前
LeetCode 46. 全排列|吃透回溯
算法·leetcode·职场和发展
鼎艺创新科技10 小时前
不依赖 UE/Unity:我们如何从零搭建一套国产三维 GIS 渲染引擎
人工智能·算法·unity·游戏引擎·三维电子沙盘
石头猫灯10 小时前
WordPress wp2shell 漏洞链完整拆解流程
网络·数据结构·安全·web安全
.道阻且长.12 小时前
11.LeetCode算法习题讲解--滑动窗口--将x减到0的最小操作数
算法·leetcode·职场和发展
wenyq712 小时前
LeetCode 2460. Apply Operations to an Array
算法·leetcode
.格子衫.13 小时前
032动态规划之区间DP——算法备赛
算法·动态规划