1059 C语言竞赛

注意点

判断素数问题

代码

#include <iostream>
#include <cstdio>
#include <string>
using namespace std;

int ran[10001];
int natu[10001];
bool nat(int a){
	if(a%2==0){
		return 0;
	}
	for(int i=3;i*i<=a;i+=2){
		if(a%i==0){
			return 0;
		}
	}
	return 1;
}
int main()
{
	int n;
	int k;
	int id1;
	int sid;
	string sid2;
	for(int i=0;i<10001;i++){
		natu[i]=0;
		if(i>2){
			natu[i]=nat(i);
		}
		ran[i]=-1;
	}
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>id1;
		ran[id1]=i+1;
	}
	cin>>k;
	for(int i=0;i<k;i++){
		cin>>sid2;
		sid=stoi(sid2);
		if(ran[sid]==1){
			cout<<sid2<<": Mystery Award"<<endl;
			ran[sid]=0;
		}
		else if(ran[sid]==0){
			cout<<sid2<<": Checked"<<endl;
		} 
		else if(natu[ran[sid]]==1){
			cout<<sid2<<": Minion"<<endl;
			ran[sid]=0;
		}
		else if(ran[sid]<0){
			cout<<sid2<<": Are you kidding?"<<endl;
		}
		else{
			cout<<sid2<<": Chocolate"<<endl;
			ran[sid]=0;
		}
	}
	return 0;
}
posted @ 2022-07-11 13:30  qwasdasd  阅读(29)  评论(0)    收藏  举报