রিকার্শন টেকনিক ব্যবহার করে কোনো সংখ্যা প্রাইম নাকি নন-প্রাইম চেক করতে একটি মেথড সংজ্ঞায়িত করা হয়, এবং 'while' কন্ডিশন ব্যবহার করা হয়।
রিকার্শন বড় সমস্যায় ছোট ছোট অংশে ভাগ করে ফলাফল বের করে, এবং এই অংশগুলোকে কম্বাইন করে বড় সমস্যার সমাধান দেয়।
উদাহরণ
নিচে ডেমোстран্স্ট্রেশন দেওয়া হলো:
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 হয়, তবে ভেরিয়েবলটি নম্বর থেকে ১ বিয়োগ করে অ্যাসাইন করা হয়।
- যদি ভেরিয়েবলের ভ্যালু ২-এর চেয়ে বড় বা সমান হয়, তবে নম্বরটি ভেরিয়েবল দিয়ে ভাগ করা হয়, এবং এর ভাগশেষ ০-এর সাথে কম্পেয়ার করা হয়।
- যদি ভাগশেষ ০ হয়, তবে এটি নন-প্রাইম নম্বর বলে বিবেচনা করা হয়।
- অন্যথায়, মেথডটি আবার কল করা হয় নম্বরটি এবং ভেরিয়েবল থেকে ১ বিয়োগ করে পাস করে।
- ফাংশনের বাইরে, ইউজারকে চেক করার নম্বরটি এন্টার করার জন্য বলা হয়েছে।
- নম্বরটি চেক করা হয়েছে, ফাংশন কল করে এবং এই ভ্যালু পাস করে প্যারামিটার হিসেবে।
- প্রাসঙ্গিক আউটপুট কনসোলে ডিসপ্লে করা হয়েছে।