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

โปรแกรม Python ตรวจสอบจำนวนเฉพาะแบบ Recursive


เมื่อต้องการตรวจสอบว่าตัวเลขเป็นจำนวนเฉพาะหรือไม่โดยใช้ Recursion กำหนดเมธอดและใช้เงื่อนไข 'while'

Recursion คำนวณผลลัพธ์ของส่วนเล็กๆ ของปัญหาใหญ่ และรวมส่วนเหล่านี้เพื่อให้คำตอบของปัญหาใหญ่

ตัวอย่าง

def check_prime(my_num, my_val=None):
    if my_val is None:
        my_val = my_num - 1
    while my_val >= 2:
        if my_num % my_val == 0:
            print("The number is not a prime number")
            return False
        else:
            return check_prime(my_num, my_val - 1)
    else:
        print("The number is a prime number")
        return True

my_num = int(input("Enter the number that you wish to examine : "))
print("The number is being checked...")
check_prime(my_num)

ผลลัพธ์

Enter the number that you wish to examine : 46
The number is being checked...
The number is not a prime number

คำอธิบาย

  • กำหนดเมธอด 'check_prime' รับตัวเลขและค่าที่กำหนดเป็น None เป็นพารามิเตอร์
  • หากตัวแปรเป็น None กำหนดตัวแปรเป็นตัวเลขลบ 1
  • หากค่าตัวแปรมากกว่าหรือเท่ากับ 2 หารตัวเลขด้วยค่า และเปรียบเทียบเศษกับ 0
  • หากเศษเป็น 0 ถือว่าไม่ใช่จำนวนเฉพาะ
  • มิฉะนั้น เรียกเมธอดซ้ำส่งตัวเลขและค่าลบ 1
  • นอกฟังก์ชัน ผู้ใช้ป้อนตัวเลขที่ต้องการตรวจสอบ
  • ตรวจสอบตัวเลขโดยเรียกฟังก์ชันส่งค่านี้เป็นพารามิเตอร์
  • แสดงเอาต์พุทที่เกี่ยวข้องบนคอนโซล