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

โปรแกรม Python เพื่อค้นหาว่าตัวเลขเป็นจำนวนเฉพาะหรือไม่ใช้การเรียกซ้ำ


เมื่อจำเป็นต้องค้นหาว่าตัวเลขเป็นจำนวนเฉพาะหรือไม่ใช้เทคนิคการเรียกซ้ำ จะมีการกำหนดวิธีการ และใช้เงื่อนไข "ในขณะที่"

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

ตัวอย่าง

ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -

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