請編寫一個函數jsValue(int m,int k,int xx[]),該函數的功能是:將大於整數m且緊靠m的k個素數存入數組xx傳回

請編寫一個函數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;

	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章