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;
}

浙公网安备 33010602011771号