今天面试被问到了这个问题记录下:
1 /**
2 * 取得所以小于指定数的质数
3 *
4 * @param num
5 * int 指定的数
6 * @return List<Integer>
7 */
8 public List<Integer> getPrimeNumber(int num) {
9 // 返回值
10 List<Integer> primeNumberList = new ArrayList<Integer>();
11 // 作为是否是质数的标记
12 boolean flag = true;
13 // 从2开始循环
14 for (int i = 2; i < num; i++) {
15 for (int j = 2; j <= Math.sqrt(i); j++) {
16 // 如果不是质数则跳出循环
17 if (i % j == 0) {
18 flag = false;
19 break;
20 }
21 }
22 // 是质数则保存到primeNumberList中
23 if (flag) {
24 primeNumberList.add(i);
25 }
26 // 将质数的标记置回来
27 flag = true;
28 }
29 return primeNumberList;
30 }
posted on 2011-09-09 01:00
showsun 阅读(331)
评论(0) 编辑 收藏 所属分类:
J2SE