两个问题
查看原帖
两个问题
184508
dnbd楼主2020/10/9 21:30

我的code:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<ctime>
#include<string>
#include<algorithm>
#include<iomanip>
using namespace std;
bool vis[100010],n,a[201];//true表示非素数,false表示素数 
void zhi_shu_shai()
{
	vis[1]=true;
	for(int i=2;i<=100010;++i)
		if(vis[i]==false)
			for(int j=2*i;j<=100010;j+=i)
				vis[j]=true;
}
int main()
{
//	freopen("su_shu_shai.in","r",stdin);
//	freopen("su_shu_shai.out","w",stdout);
	zhi_shu_shai();
	scanf("%d",&n);
	for(int i=1;i<=n;++i)
		scanf("%d",&a[i]);
	for(int i=1;i<=n;++i)
		if(vis[a[i]]==false)
			cout<<a[i]<<" ";
	fclose(stdin);
	fclose(stdout);
	return 0;
}

问题如下: 1.为什么我的程序读入会出错?

2.题目没有交代判重的问题,如果有重复需要判定掉吗?

望dalao解答

2020/10/9 21:30
加载中...