Java implementation to find all prime numbers within a certain number

Recently, I have encountered many problems of finding prime numbers in the written test. Today, I will summarize it here:

/**************************************第一种************************************/
public static List<Integer> find(int n){
		List<Integer> list = new ArrayList<Integer>();
		for (int i = 2; i <= n; i++) {
			boolean flag = true;
			for (int j = 2; j <i; j++) {
				if (i % j == 0) {
					flag = false;
				}
			}
			if (flag) {
				list.add(i);
			}
		}
		return list;
	}
/**************************************第二种(效率稍微好一点)************************************/
public static List<Integer> find(int n){
		List<Integer> list = new ArrayList<Integer>();
		for (int i = 2; i <= n; i++) {
		//去除偶数部分
			if (i % 2 == 0 && i != 2) {
				continue;
			}
			boolean flag = true;
			for (int j = 2; j <= i/2; j++) {
				if (i % j == 0) {
					flag = false;
				}
			}
			if (flag) {
				list.add(i);
			}
		}
		return list;
	}

Guess you like

Origin blog.csdn.net/lq1759336950/article/details/101615819