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