求助,请帮我看看哪里出错了
查看原帖
求助,请帮我看看哪里出错了
464158
xzabc123楼主2022/9/28 11:07
#include <bits/stdc++.h>
using namespace std;
#define MAXN 100005
FILE *fin,*fout;
int n,data,ans[MAXN],now;
bool chec[MAXN];
bool ches(int k){
	while(k>0){
	
	if(k%10==7){return 1;}
	k/=10;
}
    
    return 0;
}
void init(){
	memset(chec,0,sizeof(chec));
	for(int i=1;i<=MAXN-10;i++){
		if(chec[i]==1) {
		continue;}
		if(ches[i]){
			for(int j=i;j<=MAXN-10;j+=i){
				chec[j]=1;
			}
			continue;
		}
		ans[now]=i;
		now=i;
}
    
}
int main(){
	fin=fopen("number.in","rb");
	fout=fopen("number.out","wb");
	

	fscanf(fin,"%d",&n);
	init();
	for(int i=1;i<=n;i++) 
	{
	 fscanf(fin,"%d",&data);
	 if(chec[data]) {fprintf(fout,"-1 \n");} 
	 else {
	 fprintf(fout,"%d\n",ans[data]);}

}
    fclose(fin);fclose(fout);
	return 0;
}
2022/9/28 11:07
加载中...