1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
package com.gxnu.study.primer;
public class { public static void main(String[] args) { FilterPrime fp = new FilterPrime(); long two = System.nanoTime(); fp.prime2(357); System.out.println("+-的时间:"+(System.nanoTime()-two)); long one = System.nanoTime(); fp.prime(357); System.out.println("%的时间:"+(System.nanoTime()-one)); }
public void prime2(int num){ if (num<2) { System.out.println("输入的数据不合法!"); return; } int arr[] = new int[num+1]; for (int i = 0; i < arr.length; i++) { arr[i] = i; } for (int i = 2; i < arr.length-1; i++) { while(arr[i]==0){ i++; } for (int j = i+i; j < arr.length; j+=i) { arr[j] = 0; } if (arr[num]==0) { break; } } if (arr[num]==0) { System.out.println(num+" 是合数"); }else { System.out.println(num+" 是素数"); } } public void prime(int num) { if (num<2) { System.out.println("输入的数据不合法!"); return; }
int arr[] = new int[num+1];
for (int i = 0; i < arr.length; i++) { arr[i] = i; }
for (int j = 2; j < arr.length-1; j++) { while(arr[j]==0){ j++; } for (int k = j+1; k < arr.length; k++) { if ((arr[k] % j) == 0) { arr[k] = 0; } } if (arr[num]==0) { break; }
} if (arr[num]==0) { System.out.println(num+" 是合数"); }else { System.out.println(num+" 是素数"); } } }
|
近期评论