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

นายกรัฐมนตรีหรือไม่ใน Python


จำนวนเฉพาะมีบทบาทสำคัญต่อการใช้งานหลายๆ อย่าง เช่น การเข้ารหัส ดังนั้นจึงจำเป็นต้องตรวจสอบจำนวนเฉพาะโดยใช้โปรแกรม Python ในแอพพลิเคชั่นต่างๆ จำนวนเฉพาะคือจำนวนที่ไม่มีตัวประกอบอื่นใดนอกจากตัวเดียวและตัวมันเอง ด้านล่างนี้จะเห็นโปรแกรมที่สามารถตรวจสอบได้ว่าตัวเลขที่ระบุเป็นจำนวนเฉพาะหรือไม่

แนวทาง

เราใช้แนวทางต่อไปนี้เพื่อตัดสินใจว่าจำนวนนั้นเป็นจำนวนเฉพาะหรือไม่

  • ตรวจสอบที่จุดเริ่มต้นเป็นบวกหรือไม่ เนื่องจากมีเพียงจำนวนบวกเท่านั้นที่สามารถเป็นจำนวนเฉพาะได้

  • เราหารตัวเลขด้วยตัวเลขทั้งหมดในช่วง 2 ถึง 1 จำนวนที่น้อยกว่าตัวเลขที่กำหนด

  • หากส่วนที่เหลือกลายเป็นศูนย์สำหรับจำนวนใดๆ ในช่วงนี้ แสดงว่าไม่ใช่จำนวนเฉพาะ

ตัวอย่าง

x = 23
if x > 1:
   for n in range(2, x):
      if (x % n) == 0:
         print(x, "is not prime")
         print(n, "times", x // n, "is", x)
         break
   else:
      print(x, "is a prime number")
   else:
      print(x, "is not prime number")

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

23 is a prime number

กำลังตรวจสอบแบบฟอร์ม 6i+1

จำนวนเฉพาะทั้งหมดที่มากกว่า 6 สามารถแสดงในรูปของ 6i+1 ที่นี่ฉันเริ่มจาก 1 และไปเป็นจำนวนเต็ม ในตัวอย่างด้านล่าง เราจะตรวจสอบว่าสามารถแสดงตัวเลขในรูปแบบ 6i+1 ได้หรือไม่ โดยนำ 6 หารแล้วตรวจสอบการช่วยเตือนเป็นหนึ่ง ดังนั้นจะตัดสินว่าจำนวนนั้นเป็นจำนวนเฉพาะหรือไม่ นอกจากนี้เรายังต้องตรวจสอบค่า i ซึ่งเท่ากับสแควร์รูทของตัวเลขที่กำหนด

ตัวอย่าง

def CheckPrime(n):
   # Check for cases of 2 and 3
   if (n <= 1):
      return False
   if (n <= 3):
      return True
   # skip checking middle five numbers in the loop
   if (n % 2 == 0 or n % 3 == 0):
      return False
   i = 5
   while (i * i <= n):
      if (n % i == 0 or n % (i + 2) == 0):
         return False
      i = i + 6
   return True
# Check for inputs
if (CheckPrime(31)):
   print(" true")
else:
   print(" false")
if (CheckPrime(25)):
   print(" true")
else:
   print(" false")

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

true
false