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

จะตรวจสอบได้อย่างไรว่าตัวเลขเป็นจำนวนเฉพาะหรือไม่ใช้ Python?


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

ฟังก์ชันส่งคืนค่าเท็จสำหรับตัวเลขทั้งหมดที่หารด้วย 2 และน้อยกว่า 2 สำหรับฟังก์ชันอื่นๆ ที่คืนค่าทั้งหมด) ฟังก์ชันจะเป็นเท็จ หากหารด้วยตัวเลขใดๆ ไม่เกินรากที่สองและเป็นจริงหากไม่ใช่ หารด้วยจำนวนใดก็ได้

ตัวอย่าง

def is_prime(a):
    if a < 2:
        return False
    elif a!=2 and a % 2 == 0:
        return False
    else:
        return all (a % i for i in range(3, int(a**0.5)+1) )
num=int(input('enter a number'))
if is_prime(num)==True:
    print ("{} is a prime number".format(num))
else:
    print ("{} is not a prime number".format(num))

ผลลัพธ์

ตัวอย่างการรันโปรแกรมด้านบน -

enter a number24
24 is not a prime number
enter a number47
47 is a prime number