หลักการที่ใช้ในการแก้ปัญหาต่อไปนี้คือการหารจำนวนที่กำหนดกับทั้งหมดจาก 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