How many prime numbers
题目链接
Give you a lot of positive integers, just to find out how many prime numbers there are.
Input
There are a lot of cases. In each case, there is an integer N representing the number of integers to find. Each integer won’t exceed 32-bit signed integer, and each of them won’t be less than 2.
Output
For each case, print the number of prime numbers you have found out.
Sample Input
3
2 3 4
Sample Output
2
题目分析
题目意思为给你n个数,有几个素数输出几
java快速输入输出方法链接
代码实现
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
public class Main {
public static boolean ss(int x) {//判断素数函数
if (x == 2 || x == 3)
return true;
if (x % 2 == 0 || x % 3 == 0)//加快判断
return false;
for (int i = 5; i <= Math.sqrt(x); i++) {//这里是i小于等于x的平方就可以判断x是否为素数了
if (x % i == 0)
return false;
}
return true;
}
public static void main(String[] args) throws IOException {
StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
int n, s, t;
while (in.nextToken() != StreamTokenizer.TT_EOF) {//判断文件是否输入完毕
n = (int) in.nval;
s = 0;
for (int i = 0; i < n; i++) {
in.nextToken();
t = (int) in.nval;
if (ss(t))
s++;
}
out.println(s);
out.flush();
}
}
}