請編寫一個函數jsValue(int m,int k,int xx[]),該函數的功能是:將大於整數m且緊靠m的k個素數存入數組xx傳回。例如:若輸入17 5, 則應輸出:19, 23, 29, 31,37.(素數:只能被1和自身整除的正整數)
public class SuShu9 {
/*
* (羣碩)9. 請編寫一個函數jsValue(int m,int k,int xx[]),該函數的功能是:
* 將大於整數m且緊靠m的k個素數存入數組xx傳回。例如:若輸入17 5, 則應輸出:19, 23, 29, 31,
* 37.(素數:只能被1和自身整除的正整數)
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("輸入一個整數:");
int num = sc.nextInt();
System.out.println("輸入緊靠" + num + "有幾個素數:");
int n = sc.nextInt();
int[] re = new int[n];
int[] output = jsValues(num, n, re);
System.out.println(n + "個素數爲:");
for (int i = 0; i < output.length; i++) {
System.out.print(output[i] + " ");
}
}
private static int[] jsValues(int m, int k, int xx[]) {
int[] in = new int[k];
int i = 0;
int j = 0;
while (true) {
m++;// 整數自增,
if (judge(m) == 1) {// 判斷返回值是1時爲素數
in[i] = m;// 將自增的素數放入數組
i++;// 數組下標自增1
}
if (i == k) {
break;// 當數組下標自增到5時,退出循環,程序結束
}
}
return in;
}
public static int judge(int m) {
// 判斷素數,從2開始判斷能否被自身整除,當能被自身整除時返回0,不能時這說明是素數,此時返回1
for (int i = 2; i < m; i++) {
if (m % i == 0)
return 0;
}
return 1;
}
}