JG-OJ记录92:12:素数-5

it2025-05-27  11

描述

输入一个整数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; }

 

最新回复(0)