经过多年的杀戮,秦皇终于统一了中国。为了抵御外来的侵略,他准备在国土边境安置n名将军。不幸的有些将军羽翼渐丰,开始展露他们的狼子野心了。他们拒绝述职、拒绝接受皇帝的圣旨。秦皇已经准备好了秘密派高手处决这些无礼的边防大将。不过为防兵变,他决定先授予这些将军一些勋章,为自己赢得战略时间。将军们听说他们即将被授予勋章都很开心,他们纷纷上书表示感谢。皇帝授予的勋章都带有一个数字编号,为了方便高手秘密处决无礼的边防大将,大将勋章编号中只有无礼的边防大将的勋章编号是一个质数。现在高手需要统计无礼的边防大将的人数,你能帮帮他吗?
输入格式
一行,一个整数n (1<=n<=100)
第二行,n个正整数,表示大将勋章编号,数据范围为[1,100000000]。
输出格式
一行一个正整数,表示无礼的边防大将的人数。
输入/输出例子1
输入:
5
100 17 88 25 22
输出:
1
样例解释
无
本题代码及思路如下:
#include<bits/stdc++.h>
using namespace std;
int n,a,x,y;
int main(){
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a;
for(int j=2;j*j<=a;j++)
{
if(a%j==0)
{
x=1;
break;//数据范围过大,需要用到break
}
}
if(x==0&&a!=1)y++;//需要特判1
x=0;//初始化x
}
cout<<y;
return 0;
}