Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธี Java เพื่อตรวจสอบไพรม์และค้นหาไพรม์ถัดไป


คลาส java.math.BigInteger จัดเตรียมการดำเนินการที่คล้ายคลึงกันให้กับตัวดำเนินการจำนวนเต็มดั้งเดิมของ Java และสำหรับวิธีการที่เกี่ยวข้องทั้งหมดจาก java.lang.Math นอกจากนี้ยังมีวิธีการตรวจสอบว่าตัวเลขเป็นจำนวนเฉพาะหรือไม่ และวิธีการหาจำนวนเฉพาะที่น่าจะเป็นตัวถัดไป

isProbablePrime() − วิธีการนี้ยอมรับค่าจำนวนเต็มที่แสดงถึงความแน่นอน และตรวจสอบว่าค่าที่แสดงโดยวัตถุปัจจุบันเป็นจำนวนเฉพาะหรือไม่ ส่งกลับค่าบูลีนซึ่งก็คือ −

  • จริง หากจำนวนที่กำหนดเป็นจำนวนเฉพาะ

  • เท็จ หากจำนวนที่กำหนดไม่ใช่จำนวนเฉพาะ

ตัวอย่าง

<ก่อนหน้า นำเข้า java.math.BigInteger นำเข้า java.util.Scanner คลาสสาธารณะ isProbablePrimeExample { โมฆะสาธารณะหลัก (String args []) { Scanner sc =สแกนเนอร์ใหม่ (System.in); System.out.println("ป้อนตัวเลข :"); num ยาว =sc.nextLong(); ผลลัพธ์ int =0; BigInteger bigInt =BigInteger ใหม่ (String.valueOf (num)); บูลีนไพรม์ =bigInt.isProbablePrime(1); if (prime) { System.out.println(num+" เป็นจำนวนเฉพาะ"); } อื่น { System.out.println(num+" ไม่ใช่จำนวนเฉพาะ"); } }}

ผลลัพธ์1

ป้อนตัวเลข :2525 ไม่ใช่จำนวนเฉพาะ

ผลลัพธ์2

ป้อนตัวเลข :1919 เป็นจำนวนเฉพาะ

nextProbablePrime() − วิธีนี้จะคืนค่าจำนวนเฉพาะตัวแรกถัดไป (จำนวนเต็ม) ที่มากกว่า BigInteger ปัจจุบัน

ตัวอย่าง

<ก่อนหน้า นำเข้า java.math.BigInteger นำเข้า java.util.Scanner คลาสสาธารณะ nextProbablePrimeExample { โมฆะสาธารณะหลัก (String args []) { Scanner sc =สแกนเนอร์ใหม่ (System.in); System.out.println("ป้อนตัวเลข :"); num ยาว =sc.nextLong(); ผลลัพธ์ int =0; BigInteger bigInt =BigInteger ใหม่ (String.valueOf (num)); BigInteger ไพรม์ =bigInt.nextProbablePrime(); System.out.println("เลขเฉพาะตัวถัดไป :"+prime.intValue()); }}

ผลลัพธ์

ป้อนตัวเลข :25หมายเลขเฉพาะถัดไป :29