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

出自洛谷:

【深基7.例2】质数筛 - 洛谷

题目描述:

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

输入格式:

第一行:一个数N表示有N个数

第二行:N个数

输出格式:

第一行:这些数中的质数

输入输出样例:

输入#1:

5
3 4 5 6 7

输出#1:

3 5 7 

只用写一个函数:bool isprime(int n);

源代码:

#include <bits/stdc++.h>
using namespace std;
bool isprime(int n){
    if(n<=1) return false;//if n<2,n is not prime
    if(n==2 or n==3) return true;
    if(n%6!=1 and n%6!=5) return false;//if n%6!=1 or n%6!=5,n is not prime
    for(int i=5;i*i<=n;i+=6) if(n%i==0 or n%(i+2)==0) return false;
    return true;
}
int main(){
    int n,temp;
    cin>>n;//input
    for(int i=0;i<n;i++){
        cin>>temp;
        if(isprime(temp))cout<<temp<<" ";
    }
    return 0;
}

大佬们看完文章后求多赞多关注,谢谢!

再求大佬们多做一下我出的题:

U203371 区间求和

U201922 二值图像(area)

U201844 双螺旋数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值