题解
2024-11-30 16:33:19
发布于:黑龙江
49阅读
0回复
0点赞
本题当任意两个不是1的数字相乘一定是非质数,所以可以分类讨论,有1和没1。
分类
没1,一定不是质数。
一个1和一个质数,是质数。
一个1和一个非质数,不是质数。
AC code
#include<bits/stdc++.h>
using namespace std;
#define int long long
bool is(int n)
{
if(n==1)return false;
else if(n==2)return true;
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)return false;
}
return true;
}
signed main()
{
int q;cin>>q;
while(q--)
{
int a,b;
cin>>a>>b;
if(a==1)
{
if(is(b))
{
cout << "YES" << endl;
continue;
}
cout<<"NO"<<endl;
}
else if(b==1)
{
if(is(a))
{
cout << "YES" << endl;
continue;
}
cout<<"NO"<<endl;
}
else cout<<"NO"<<endl;
}
}
记得long long,会爆int
这里空空如也
有帮助,赞一个