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

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

输入格式

输出格式

输入输出样例
输入
5
3 4 5 6 7
输出
3 5 7

我咋觉得这个题应该算入门难度讷?

#include<bits/stdc++.h>
using namespace std;
int isit(int);
int main(){
	int n,m;
	cin>>n;
	int all[n],judge[n];
	for(int i=0;i<n;i++){
		cin>>all[i];
		m=isit(all[i]);
		if(m==1){
			judge[i]=1;
		}
		else{
			judge[i]=0;
		}
		//printf("%d ",judge[i]);
	}
	for(int i=0;i<n;i++){
		if(judge[i]==1){
			printf("%d ",all[i]);
		}
	}
    return 0;
}
int isit(int a){
	if(a==0||a==1){
		return 0;
	}
	if(a==2){
		return 1;
	}
	else{
		for(int j=2;j<=(int)sqrt((double)a);j++){
			if(a%j==0){
				return 0;
			}
		}
		return 1;
	}
}
发布了36 篇原创文章 · 获赞 29 · 访问量 1019

猜你喜欢

转载自blog.csdn.net/bupt_sanqing/article/details/104796235