P5736 【深基7.例2】质数筛题解

题目

输入n个不大于105的正整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。

输入输出格式

输入格式

第一行输入一个正整数n,表示整数个数。

第二行输入n个正整数a_{i},以空格隔开。

输出格式

输出一行,依次输出a_{i}中剩余的质数,以空格隔开。

输入输出样例

输入样例

5
3 4 5 6 7

输出样例

3 5 7

代码

(1)开根

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
bool isprime(int x){//判断是否素数
	if(x<=1) return false;//如果小于2,一定不是素数
	for(int i=2;i<=sqrt(x);i++){
		if(x%i==0) return false;//如果可以整除,那么不是素数
	}
	return true;//是素数
}
int main(){
	int n,a;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a;
		if(isprime(a)){
			cout<<a<<" ";//是素数,就输出
		}
	}
	return 0;
} 

(2)欧式筛法(素数乘合数为合数)

#include <bits/stdc++.h>
using namespace std;
long long n,m;
bool vis[10000001]={1,1};//0,1均既不是素数,也不是合数,所以先标记为不是
int Prime[10000001],k;
void prime(long long n)
{
    for(int i=2;i<=n;i++)//最小的素数是2
    {
        if(!vis[i])
        {
            Prime[++k]=i;//如果是素数就标记一下
         }
        for(int j=1;j<=k;j++)//j小于当前所有的素数的个数
        {
            if(Prime[j]*i>n)
            {
                break;
            }
            vis[Prime[j]*i]=true;//用素数依次×i,结果标记为合数
            if(i%Prime[j]==0)
            {
                break;
            }
        }
    }//欧拉筛法,就是拿当前的数×之前的筛出来的素数,这个数即为合数
}
int main()
{
    cin>>n;
    prime(100001);//在10的5次方范围内筛素数
    for(int i=1;i<=n;i++)
    {
        int t;
        cin>>t;
        if(!vis[t])//上面标记过了,这时输入后直接判断就行了
        {
            cout<<t<<" ";
        }
    }
    return 0;
} 

(3)埃氏筛法(素数的整数倍均为合数)

#include <bits/stdc++.h>
using namespace std;
bool vis[100001]={1,1};//0,1标为不是
int n;
void Era(int qwq)
{
    for(int i=2;i<=qwq;i++)
    {
        if(vis[i])
        {
            continue;
        }//是合数就不执行
        for(int j=i*2;j<=qwq;j+=i)//从i×2开始筛,因为经过判断后i为素数
        {
            vis[j]=true;//j=i的倍数,每次加i,即为i的倍数每次加1,p数组的第j个元素标为合数
        }
    }
}
int main()
{
    cin>>n;
    int tmp;
    Era(100001);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&tmp);
        if(!vis[tmp])//已经记下了,判断一下即可
        {
            cout<<tmp<<" ";
        }//真就不是,假就是
    }
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/313887.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年MIA最新生成综述:基于深度学习的MRI/CT/PET合成【文献阅读】

2024年MIA最新生成综述&#xff1a;基于深度学习的MRI/CT/PET合成【文献阅读】 基本信息 标题&#xff1a;Deep learning based synthesis of MRI, CT and PET: Review and analysis发表年份: 2024期刊/会议: Medical Image Analysis分区&#xff1a; SCI 1区IF&#xff1a;1…

【Python机器学习】深度学习——调参

先用MLPClassifier应用到two_moons数据集上&#xff1a; from sklearn.neural_network import MLPClassifier from sklearn.datasets import make_moons from sklearn.model_selection import train_test_split import mglearn import matplotlib.pyplot as pltplt.rcParams[f…

2D绘图--视口窗口setViewport setWindow

目录 1 setViewport setWindow 2 示例 3 实际应用&#xff08;个人理解&#xff09; 4 总结 1 setViewport setWindow 在Qt中&#xff0c;QPainter的setViewport()方法用于定义绘图区域在窗口坐标系中的可视部分。 QPainter::setWindow() 是 Qt 库中 QPainter 类的一个方法…

字体包大小缩小的软件

Fontmin - 字体子集化方案https://ecomfe.github.io/fontmin/#app

Talk|南洋理工大学王谭:DisCo-基于解耦控制的现实人物舞蹈生成及相关工作梳理

本期为TechBeat人工智能社区第563期线上Talk。 北京时间1月11日(周四)20:00&#xff0c;南洋理工大学博士生—王谭的Talk已准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “DisCo-基于解耦控制的现实人物舞蹈生成及相关工作梳理”&#xff0c;介绍了他的团…

服务器架构演进史

服务器架构演进史 概述 在进行后端的学习过程中&#xff0c;有时由于个人的学习广度的局限导致无法从全局理解一些概念&#xff0c;服务端的架构的演进历史&#xff0c;同时列举出每个演进阶段会遇到的相关技术&#xff0c;让对架构的演进有一个整体的认知。并帮助读者与本人…

考研英语高频打卡

高频词汇13——15抽背答案 1、colleague /ˈkɒliːɡ/ 考频20&#xff08;英一12 次&#xff0c;英二8 次&#xff09; n. 同事&#xff0c;同僚 2、despite /dɪˈspaɪt/ 考频19&#xff08;英一12 次&#xff0c;英二7 次&#xff09; prep. 不管&#xff0c;不顾 3、overa…

SwiftUI 为任意视图加上徽章(Badge)而想到的(上)

概览 在小伙伴们看来为 SwiftUI 视图添加徽章是一件轻松愉快的“消遣”,几乎不费吹灰之力。但随着需求的升级实现难度可能会“陡然而升”。 从上面演示图中可以看到:无论徽章中的数字是多少、无论徽章采用什么样的偏移方式,徽章的显示都“得体大方、游刃有余”,这是怎么做…

asp.net core项目发布到 iis上

我们都知道与传统asp.net 项目比较&#xff0c;ASP.NET Core则完全不同&#xff0c;它并不是运行在IIS的工作进程中&#xff0c;而是独立运行的。它运行于控制台应用程序之中&#xff0c;控制台中则运行了Kestrel Web服务器组件。Kestrel作为一款.NET Web服务器的实现&#xff…

2024年甘肃省职业院校技能大赛信息安全管理与评估 样题二 模块二

竞赛需要完成三个阶段的任务&#xff0c;分别完成三个模块&#xff0c;总分共计 1000分。三个模块内容和分值分别是&#xff1a; 1.第一阶段&#xff1a;模块一 网络平台搭建与设备安全防护&#xff08;180 分钟&#xff0c;300 分&#xff09;。 2.第二阶段&#xff1a;模块二…

少儿编程 中国电子学会图形化编程2023年12月等级考试Scratch二级真题解析(选择题、判断题)

一、选择题&#xff1a;共25小题&#xff0c;每题2分&#xff0c;共50分 1.在制作推箱子游戏时&#xff0c;地图是用数字形式储存在电脑里的&#xff0c;下图是一个推箱子地图&#xff0c;地图表示如下&#xff1a; 第一行 (111111) 第二行(132231) 第三行(126621)第四行(第五…

AnyText多语言文字生成与编辑模型——让AI绘图自由添加精美文字

随着AIGC的爆火,图片生成技术得到飞速发展,当前AI生成的图片已达到真假难辨的高保真度。例如stable diffusion与midjourney为代表的文生图大模型。不过,当合成图片中出现文字内容时,现存的AI技术依然无法驾驭文字内容。因此,modescope提出了一种新型的文字生成方法,此方法…

stl中的list模拟实现

目录 一、list的简单介绍二、写出节点的代码三、模拟实现迭代器&#xff08;重点&#xff09;1、list中的迭代器是怎么实现的2、编写iterator类的代码3、对const_iterator进行理解4、编写const_iterator类的代码5、对iterator类和const_iterator类进行合并 四、list类进行代码实…

MC-4/11/10/400​什么是电机驱动器。​

MC-4/11/10/400​什么是电机驱动器。​ 首先&#xff0c;我们先来了解以下两个主题&#xff0c;这会帮助我们了解什么是电机驱动器。 电机驱动器IC的作用 电机驱动器IC与电机设备之间的关系 电机驱动器的作用 用来使电机旋转&#xff08;驱动电机&#xff09;的集成电路&…

d2l动手学深度学习】 Lesson 13 Dropout层 老板随机丢掉一些做项目的程序员‍,项目的效果会更好!(bushi)

文章目录 1. 什么是Dropout老板随机丢掉一些做项目的程序员&#x1f9d1;‍&#x1f4bb;&#xff0c;项目的效果会更好&#xff01; 2. 代码实现&#xff08;不用torch&#xff09;3. 代码实现&#xff08;使用torch&#xff09;3. 调节实验3.1 老师上课所设置的dropout1, dro…

【二十】【动态规划】879. 盈利计划、377. 组合总和 Ⅳ、96. 不同的二叉搜索树 ,三道题目深度解析

动态规划 动态规划就像是解决问题的一种策略&#xff0c;它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题&#xff0c;并将每个小问题的解保存起来。这样&#xff0c;当我们需要解决原始问题的时候&#xff0c;我们就可以直接利…

【Python】数据可视化--基于TMDB_5000_Movie数据集

一、数据准备 tmdb_5000_movie数据集下载 二、数据预处理 观察数据集合情况 import pandas as pd import ast import warnings warnings.filterwarnings(ignore) # 加载数据集 df pd.read_csv(tmdb_5000_movies.csv) # 查看数据集信息 print(df.info()) 由于原数据集包含的…

2024 年 DevOps 会是什么样子?

过去两年的特点是科技公司大幅裁员。随着亚马逊、Meta 和谷歌等公司的大规模裁员成为各大头条新闻&#xff0c;科技行业在疫情期间释放资本并实现强劲增长&#xff0c;这种“花钱、快速增长”的思维模式正在发生普遍转变。游戏的名称是在支出上更加保守&#xff0c;这种心态将推…

flask web服务器:运行在云服务器上的最简单的web服务器

上期文章我们分享了flask的基础知识以及如何安装flask&#xff0c;当你安装完成flask后&#xff0c;我们就可以打造自己的web服务器了。 首先我们打印最简单的hello world,并在浏览器中显示 from flask import Flask app Flask(__name__)app.route(/) def index():return he…

C++_虚函数表

虚函数表 介绍源码运行结果笔记扩充函数名联编静态联编动态联编 介绍 1.编译器通过指针或引用调用虚函数&#xff0c;不会立即生成函数调用指令&#xff0c;而是用 二级函数指针 代替 1.1确定真实类型 1.2找到虚函数表从而找到入口地址 1.3根据入口地址调用函数(PS:俗称 函数指…