Java程式顯示兩個區間之間的素數


在這篇文章中,我們將瞭解如何在兩個區間之間顯示素數。素數是隻有兩個因子1和自身,並且不能被任何其他數字整除的特殊數字。

如果一個數的唯一因子只有1和它自身,那麼它就是一個素數。11是一個素數。它的因子是1和11自身。一些素數的例子是2、3、5、7、11、13等等。2是唯一一個偶數素數。所有其他素數都是奇數。

問題陳述

編寫一個Java程式來顯示兩個給定區間內的所有素數。素數是一個大於1的自然數,除了1和它自身之外,不能被任何其他數字整除。下面是相同的演示 -

輸入

Starting number: 1
Ending number: 75

輸出

The prime numbers between the interval 1 and 75 are:
1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73

方法1:從使用者輸入中獲取素數

在這種方法中,我們提示使用者輸入起始數字和結束數字,然後我們迭代這個範圍以查詢並顯示素數 -

  • 開始
  • 宣告值:my_high、my_low、i、my_temp
  • 從使用者讀取值:提示使用者輸入起始和結束數字
  • 執行一個while迴圈:從my_low迭代到my_high
  • 執行一個for迴圈:檢查當前數字是否可以被從2到current_number/2的任何數字整除
  • 顯示結果:列印找到的素數
  • 結束

示例

在這裡,輸入由使用者根據提示輸入。你可以在我們的程式碼練習工具執行按鈕中即時嘗試此示例 -

import java.util.Scanner;
public class PrimeNumber {
 public static void main(String[] args) {
int my_high, my_low, i;
boolean my_temp;
System.out.println("Required packages have been imported");
Scanner my_scanner = new Scanner(System.in);
System.out.println("A reader object has been defined ");
System.out.print("Enter the starting number : ");
my_low = my_scanner.nextInt();
System.out.print("Enter an ending Number: ");
my_high = my_scanner.nextInt();
System.out.println("The prime numbers between the interval " + my_low + " and " + my_high + " are:");
while (my_low < my_high) {
 my_temp = false;
 for(i = 2; i <= my_low/2; ++i) {
            if(my_low % i == 0) {
               my_temp = true;
               break;
            }
         }
         if (!my_temp && my_low != 0 && my_low != 1)
            System.out.print(my_low + " ");
         ++my_low;
      }
   }
}

輸出

Required packages have been imported
A reader object has been defined
Enter the starting number : 1
Enter the ending number : 75
The prime numbers between the interval 1 and 75 are:
1 2 5 3 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73

方法2:顯示預定義範圍內的素數

在這種方法中,我們使用預定義的起始數字和結束數字來查詢並顯示此範圍內的素數 -

  • 開始
  • 宣告值:my_high、my_low、i、my_temp
  • 定義值:設定my_low = 1和my_high = 75
  • 執行while迴圈:從my_low迭代到my_high
  • 執行for迴圈:檢查當前數字是否可以被從2到current_number/2的任何數字整除
  • 顯示結果:列印找到的素數
  • 結束

示例

這裡,整數已預先定義,其值在控制檯中訪問並顯示 -

public class PrimeNumber {
 public static void main(String[] args) {
int my_high, my_low, i;
boolean my_temp;
my_low = 1;
my_high = 75;
System.out.println("The starting and ending numbers are defined as " + my_low + " and " + my_high);
System.out.println("The prime numbers between the interval " + my_low + " and " + my_high + " are:");
while (my_low < my_high) {
 my_temp = false;
 for(i = 2; i <= my_low/2; ++i) {
if(my_low % i == 0) {
 my_temp = true;
 break;
}
 }
 if (!my_temp && my_low != 0 && my_low != 1)
System.out.print(my_low + " ");
 ++my_low;
}
 }
}

輸出

The starting and ending numbers are defined as 1 and 75
The prime numbers between the interval 1 and 75 are:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73

結論

在本教程中,我們實現了一個Java程式來查詢兩個區間之間的素數,該程式涉及檢查每個數字以檢視它是否除了1和自身之外沒有其他除數。此過程有助於理解基本的程式設計概念,例如迴圈和條件語句。該方法對於小範圍有效,但對於大範圍可能會變慢。它還使用少量固定的記憶體,使其成為在程式設計中平衡時間和空間效率的良好示例。

更新於:2024年7月23日

2K+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告