统计某区间内的素数并打印显示

来源:互联网 发布:步进电机编程 编辑:程序博客网 时间:2024/05/22 13:43
1、素数统计:统计输出 start到end之间的所有素数?

2、明确什么叫素数:除了能被1和它本身整除外不能被其他数整除的数叫素数。

3、写了两种方法,两种思路

4、代码如下:

package com.tiger.prime_number;import java.util.*;/** * 方法1 * @author tiger * @Date 2017年9月5日 */public class PrimeCount {public static void main(String[] args) {List list = primes(1,1000);for (Integer integer : list) {System.out.print(integer + " ");}System.out.println();System.out.println("count = "+list.size());}private static List primes(int start,int end){List list = new ArrayList();for (int i = start; i <= end; i++) {list.add(Integer.valueOf(i));if (i == 1) {list.remove(Integer.valueOf(i));}for (int j = 2; j < i; j++) {if (i%j == 0) {list.remove(Integer.valueOf(i));break;}}}return list;}}package com.tiger.prime_number;/** * @author tiger * @Date 2017年9月5日 */public class PrimeCount2{public static void main(String[] args){int count = 0;for(int i=1;i<1000;i++){if(isPrime(i)){count++;System.out.print(i+" ");}}System.out.println();System.out.println("count = "+count);}//判断素数private static boolean isPrime(int n){boolean flag = true;if(n==1){flag = false;}else{for(int i=2;i<=Math.sqrt(n);i++){if((n%i)==0 || n==1){flag = false;break;}else{flag = true;}}}return flag;}}

原创粉丝点击