描述
输入一个整数m,输出比m小的最大的素数。
输入 一个正整数n,表示测试案例的数量。
每组测试案例中有一个整数m。
输出 针对每组案例,输出一个整数,表示比m小的最大的素数。如果比m小的数字里没有素数,则输出-1。
每组案例输出完都要换行。
样例输入 复制样例 3
11
15
0
样例输出 7
13
-1
HINT
解:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
int a,m,t=-1,max=0;
cin>>a;
for(int j=1;j<=a;j++)
{
m=1;
if(j>=2)
{
if((a==3)||(a==2)) m=1;
else
{
for(int q=2;q<=sqrt(a);q++)
{
if((j%q)==0) m=0;
}
}
}
else m=0;
if((m==1)&&(j!=a))
{
if(j>max) max=j;
t=1;
}
}
if(t==-1) cout<<"-1"<<endl;
else cout<<max<<endl;
}
return 0;
}