Java程式建立矩陣並用素數填充


根據題目要求,我們需要建立一個空矩陣,並用從最小素數(即2)開始的素數填充該矩陣。一個素數是一個大於1的自然數,除了1和它本身之外沒有其他正因數。

例如,讓我們取數字7。當我們將7除以除1和7之外的任何數字時,都會得到餘數。例如,將7除以2得到餘數1,將7除以3也得到餘數1。因此,7除了1和7之外沒有其他因數,這意味著它是一個素數。

Java中,矩陣可以使用二維陣列表示。矩陣用於儲存和操作具有表格結構的資料。它們具有與之相關的若干屬性和操作,例如加法、減法、乘法、轉置和行列式計算。

輸入/輸出場景

假設我們有一個3*3的矩陣 -

number of rows = 3
number of columns = 3

用素數填充的矩陣為

 2  3  5 
 7 11 13 
17 19 23 

使用矩陣元素的靜態初始化

在這種方法中,矩陣維度在程式中初始化。然後,我們建立一個矩陣。在插入任何數字之前,我們檢查該數字是否為素數。

示例

在這個示例中,我們將看到如何使用Java程式語言建立一個矩陣並用素數填充它。

public class Main {
   // main method
   public static void main(String[] args) {
      // dimension of the matrix 
      int rows = 3;
      int columns = 3;
      // creating matrix for prime numbers
      int[][] matrix = new int[rows][columns];

      // Starting number to check for prime
      int number = 2;  
      for (int i = 0; i < rows; i++) {
         for (int j = 0; j < columns; j++) {
            while (!isPrime(number)) {
               number++;
            }
            matrix[i][j] = number;
            number++;
         }
      }
      // Display the matrix
      System.out.println("The matrix filled with prime numbers is:");
      for (int i = 0; i < rows; i++) {
         for (int j = 0; j < columns; j++) {
            System.out.print(matrix[i][j] + " ");
         }
         System.out.println();
      }
   }
   // Method to check if a number is prime
   private static boolean isPrime(int number) {
      if (number < 2) {
         return false;
      }
      for (int i = 2; i <= Math.sqrt(number); i++) {
         if (number % i == 0) {
            return false;
         }
      }
      return true;
   }
}

執行以上程式碼時,將顯示以下結果 -

The matrix filled with prime numbers is:
2 3 5 
7 11 13 
17 19 23

使用者自定義方法

在這種方法中,建立一個使用者自定義方法,並在該方法內部初始化矩陣的維度。然後在main()方法中呼叫此方法來建立並用素數填充矩陣。

示例

以下示例從實踐上說明了上述方法。

public class Main {
   // main method
   public static void main(String[] args) {
      // calling user defined method
      func();
   }
   
   // user defined method
   public static void func(){
      
      // dimension of the matrix 
      int rows = 4;
      int columns = 4;

      // creating matrix for prime numbers
      int[][] matrix = new int[rows][columns];

      // Starting number to check for primality
      int number = 2;  

      for (int i = 0; i < rows; i++) {
         for (int j = 0; j < columns; j++) {
            while (!isPrime(number)) {
               number++;
            }
            matrix[i][j] = number;
            number++;
         }
      }

      // Display the matrix
      System.out.println("The matrix filled with prime numbers is:");
      for (int i = 0; i < rows; i++) {
         for (int j = 0; j < columns; j++) {
            System.out.print(matrix[i][j] + " ");
         }
         System.out.println();
      }
   }

   // Method to check if a number is prime
   private static boolean isPrime(int number) {
      if (number < 2) {
         return false;
      }
      for (int i = 2; i <= Math.sqrt(number); i++) {
         if (number % i == 0) {
            return false;
         }
      }
      return true;
   }
}

執行此程式碼後,將列印以下結果 -

The matrix filled with prime numbers is:
2 3 5 7 
11 13 17 19 
23 29 31 37 
41 43 47 53

更新時間: 2024年7月30日

546 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

立即開始
廣告