描述
查看题信息
听说小A最近学会了如何判断质数,于是家人便给他布置了一个任务:
家人在黑板上写下了 N个正整数,又单独在最后一行写下了一个正整数 K,让小A找出 N 个正整数中所有大于 K 的质数。
由于有些数实在是太大了,请你编写程序帮他完成这一任务。
输入
输入共三行:
第一行:N(1<n<10000)
第二行:N 个用空格隔开的正整数
第三行:K(1<k<10的6次方)
输出格式
输出共一行,为大于 K 的质数,相互之间用 1个空格隔开。
若一个大于 K 的质数也没有,-1输出 。
样例输入
6
3 9 10 2 5 7
5
样例输出
7
样例输入
6
3 9 10 2 5 7
15
样例输出
-1
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int *N=new int[n];
for(int i=0;i<n;i++)
cin >> N[i];
int k,max=-1;
cin >> k;
int flag;
for(int i=0;i<n;i++)
{
flag=1;
for(int j=2;j<N[i];j++)
{
if(N[i]%j==0)
{
flag=0;
break;
}
}
if(flag && k < N[i])
{
max=N[i];
}
}
cout << max ;
return 0;
}