求助各位大佬
查看原帖
求助各位大佬
995699
yuxuzhehuan楼主2023/8/24 20:40

我真找不出那错了

#include<bits/stdc++.h>
using namespace std;
int bb=1,b[1500]={2,3};
void sea(int x)
{	for(int i=b[bb]+2;i*i<=x;i+=2)
	{	bool f=1;
		for(int j=0;b[j]*b[j]<=i;j++)
			if(i%b[j]==0)
			{	f=0;
				break;
			}
		if(f==1)
			b[++bb]=i;	
	}
	return;
}
void xsjm()
{	bool bf[1500];
	int a[500000],m=0,ma=0;
	memset(bf,0,sizeof(bf));
   memset(a,0,sizeof(a));
	scanf("%d",&m);
	for(int i=0;i<m;i++)
		scanf("%d",&a[i]),ma=max(a[i],ma);
	if(m==2)
	{	printf("Yes\n");
		return;
	}
	sea(ma);
	for(int i=0;i<m;i++)
		for(int j=0;j<=bb;j++)
			if(a[i]%b[j]==0)
			{	if(bf[j]==1)
				{	printf("No\n");
					return;
				}
				bf[j]=1;
			}
	printf("Yes\n");
	return;
}
int main()
{	int t;
	scanf("%d",&t);
	for(int i=0;i<t;i++)
		xsjm();
	return 0;
}
2023/8/24 20:40
加载中...