题目链接:https://vjudge.net/problem/CodeForces-679A
转自:https://blog.csdn.net/vocaloid01/article/details/80559723
题意:有一个数,猜一个100以内的数是质数还是合数。有20次机会。
思路:先打个50内的素数表,然后挨个判断是否是因子。注意质数的平方需要特判一下。因为是交互,所以每次输出都要用fflush刷新。
#include <bits/stdc++.h>
using namespace std;
int prime[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,4,9,25,49};
int main()
{
int cnt=0;
string s;
for(int i=0;i<19;i++)
{
cout<<prime[i]<<endl;
fflush(stdout);
cin>>s;
if(s=="yes")
cnt++;
}
if(cnt>=2)
cout<<"composite\n";
else
cout<<"prime\n";
fflush(stdout);
return 0;
}