P3-统计素数个数-暴力算法
//统计素数个数 //素数:只能被1和自身整除的自然数,0、1除外 public class P3 { public static void main(String[] args) { System.out.println(bf(100)); } //暴力算法 public static int bf(int n) { int count = 0; for (int i = 2; i < n; i++) { count += isPrime(i) ? 1 : 0; } return count; } //判断是否是素数 /* i 其实不用写成小于 x 例如x=12时 无非就是 2*6 3*4 4*3 6*2 前后其实是相同,只是交换了的 前后两个的临界点就是 根号12 * 根号12 根号12约等于3.46,所以2*6 3*4 和 4*3 6*2 大概就是在3.46的位置开始对称 只要根号x之前没找到,后面都不会找到,不用继续查找 * */ private static boolean isPrime(int x) { // for (int i=2; i<x; i++){ for (int i = 2; i * i <= x; i++) { if (x % i == 0) { return false; } } return true; } }