P1036 [NOIP2002 普及组] 选数

#include 
#define ff(i) for (int i=1;i<=n;i++)
#define f(x,y) for (int y=x+1;y<=n;y++)
using namespace std;
bool zs(int x)
{
	for (int i=2;i<=sqrt(x);i++)
	   if (x%i==0)
	     return 0;
	return 1;
}
int n,x,a[25],b[95000001]={0},mx=-1,c=0;
int main()
{
	cin>>n>>x;
	for (int i=1;i<=n;i++)
	   cin>>a[i];
	if (x==1)
	{
		ff(i)
		{
			if (zs(a[i]))
		      b[a[i]]++;
		    if (a[i]>mx)
		      mx=a[i];
		}
	}
	if (x==2)
	{
		ff(i)
		{
			f(i,j)
			{
				int m=a[i]+a[j];
				if (zs(m))
		          b[m]++;
		        if (m>mx)
		          mx=m;
			}
		}
	}
	if (x==3)
	{
		ff(i)
	    {
		    f(i,j)
		    {
			    f(j,k)
			    {
				    

你可能感兴趣的:(洛谷题解,c++,洛谷)