91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用Java制作素數程序?

發布時間:2020-05-22 13:46:16 來源:億速云 閱讀:220 作者:鴿子 欄目:編程語言

任何Java開發人員都需要回答的最常見問題之一就是如何用Java編寫素數程序。它是有關領先的高級通用編程語言的基本概念之一。

有幾種方法可以用Java編寫程序來檢查數字是否為質數。但是,基本邏輯保持不變,即您需要檢查輸入的數字(或已在程序中定義的數字)是否具有除1以外的除數,以及除數本身是否具有除數。

素數程序是學習Java必不可少的部分。因此,大多數有關Java的書籍都對此進行了介紹。在繼續討論Java中的質數程序之前,讓我們首先了解質數的概念及其重要性。

質數–定義和重要性

除自身以外只能被1除的任何數字稱為主要數字。3、5、23、47、241、1009都是素數的示例。雖然0和1不能滿足質數的要求,但是2是整個無限長質數集中唯一的偶數質數。

質數表現出許多奇數的數學性質,這使它們成為廣泛應用的理想選擇,其中許多應用屬于信息技術領域。例如,質數可用于偽隨機數生成器和計算機哈希表。

在使用加密技術來隱藏信息的歷史中,有很多實例。令人驚訝的是,這是使用質數對信息進行編碼的過程。

隨著計算機的引入,現代加密技術也被引入。生成復雜且更長的代碼變得非常可行,這些代碼很難破解。

大多數現代計算機密碼學都依賴于利用大量的主要因素。由于質數是整數的基石,因此它們對數論家也至關重要。

進一步了解素數在IT安全中的重要性。

Java素數程序

如前所述,有幾種方法可以用Java實現素數程序。在本節中,我們將研究三種獨立的方法以及另外兩個用于打印素數的程序。

類型1 –一個簡單的程序,不提供輸入

這是在Java中實現用于檢查數字是否為質數的程序的最簡單方法之一。它不需要任何輸入,只需告訴定義的數字(通過整數變量n)是否為質數即可。代碼如下:

public class PrimeCheck{
public static void main(String args[]){
int i,m=0,flag=0;
int n=3;
m=n/2;
if(n==0||n==1){
System.out.println(n+" is not a prime number.");
}
else{
for(i=2;i<=m;i++){
if(n%i==0){
System.out.println(n+" is not a prime number.");
flag=1;
break;
}
}
if(flag==0) { System.out.println(n+" is a prime number."); }
}
}
}

輸出:

3是質數。

類型2 – Java使用方法的程序(無需用戶輸入)

此Java代碼演示了使用方法的素數程序的實現。與前面提到的程序一樣,它不要求任何用戶輸入,并且僅對輸入到程序中已定義方法(名為checkPrime)的數字起作用。這是代碼:

public class PrimeCheckUsingMethod{
static void checkPrime(int n){
int i,m=0,flag=0;
m=n/2;
if(n==0||n==1){
System.out.println(n+" is not a prime number.");
}else{
for(i=2;i<=m;i++){
if(n%i==0){
System.out.println(n+" is not a prime number.");
flag=1;
break;
}
}
if(flag==0) { System.out.println(n+" is a prime number."); }
}
}
public static void main(String args[]){
checkPrime(1);
checkPrime(3);
checkPrime(17);
checkPrime(20);
}
}

輸出:

1不是質數。  
3是質數。  
17是質數。  
20不是質數。

類型3 – Java使用方法的程序(需要用戶輸入)

該Java程序類似于上述程序。但是,此程序提示用戶輸入。代碼如下:

import java.util.Scanner;
import java.util.Scanner;
public class PrimeCheckUsingMethod2 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("Enter a number: ");
int n = s.nextInt();
if (isPrime(n)) {
System.out.println(n + " is a prime number.");
} else {
System.out.println(n + " is not a prime number.");
}
}
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i < Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
)

輸入數字:22  
22不是質數。

Type 4 –用Java打印從1到100的素數的程序

此代碼將演示一個Java程序,該程序能夠打印1到100之間存在的所有素數。該程序的代碼為:

class PrimeNumbers
{
public static void main (String[] args)
{
int i =0;
int num =0;
String primeNumbers = "";
for (i = 1; i <= 100; i++)
{
int counter=0;
for(num =i; num>=1; num--)
{
if(i%num==0)
{
counter = counter + 1;
}
}
if (counter ==2)
{
primeNumbers = primeNumbers + i + " ";
}
}
System.out.println("Prime numbers between 1 and 100 are :"\n);
System.out.println(primeNumbers);
}
}

輸出:

1到100之間的質數為:  
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

Type 5 –用Java打印從1到n的素數的程序(用戶輸入)

此Java程序將打印介于1和n之間的所有素數,其中n是用戶輸入的數字。這是代碼:

import java.util.Scanner;
class PrimeNumbers2
{
public static void main (String[] args)
{
Scanner scanner = new Scanner(System.in);
int i =0;
int num =0;
String primeNumbers = "";
System.out.println("Enter a number:");
int n = scanner.nextInt();
scanner.close();
for (i = 1; i <= n; i++)
{
int counter=0;
for(num =i; num>=1; num--)
{
if(i%num==0)
{
counter = counter + 1;
}
}
if (counter ==2)
{
primeNumbers = primeNumbers + i + " ";
}
}
System.out.println("Prime numbers between 1 and n are:"/n);
System.out.println(primeNumbers);
}
}

輸出:

輸入數字:22

1至22之間的質數為:  
2 3 5 7 11 13 17 19

完成!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

托里县| 北川| 正镶白旗| 甘谷县| 常宁市| 松江区| 出国| 乐山市| 五台县| 开远市| 吴江市| 呼图壁县| 兴仁县| 天津市| 永定县| 临潭县| 张家口市| 苍溪县| 腾冲县| 北京市| 丹东市| 德惠市| 扬州市| 五大连池市| 南部县| 姜堰市| 甘德县| 澄江县| 萨嘎县| 陆川县| 集安市| 平利县| 靖江市| 武功县| 阳曲县| 沂南县| 黔江区| 拉萨市| 包头市| 牡丹江市| 大埔县|