এই টিউটোরিয়ালে একটি নম্বর প্রাইম কিনা তা যাচাই করার বিভিন্ন পদ্ধতি আলোচনা করা হয়েছে।
পদ্ধতি-১: সাধারণ পদ্ধতি
- নম্বর ১ বা তার চেয়ে কম হলে False রিটার্ন
- নম্বর যেকোনো সংখ্যা দিয়ে বিভাজ্য হলে False রিটার্ন
- লুপ শেষ হলে True রিটার্ন
উদাহরণ
def is_prime(n):
if n <= 1:
return False
else:
for i in range(2, n):
if n % i == 0:
return False
return True
print(f"Is 2 prime: {is_prime(2)}")
print(f"Is 4 prime: {is_prime(4)}")
print(f"Is 7 prime: {is_prime(7)}")
আউটপুট
Is 2 prime: True Is 4 prime: False Is 7 prime: True
পদ্ধতি-২: স্কোয়ার রুট পর্যন্ত লুপ (অপ্টিমাইজড)
ইটারেশন স্কোয়ার রুট পর্যন্ত সীমাবদ্ধ করে সময় কমানো হয়।
উদাহরণ
import math
def is_prime(n):
if n <= 1:
return False
else:
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
print(f"Is 2 prime: {is_prime(2)}")
print(f"Is 4 prime: {is_prime(4)}")
print(f"Is 7 prime: {is_prime(7)}")
আউটপুট
Is 2 prime: True Is 4 prime: False Is 7 prime: True
পদ্ধতি-৩: ইভেন নম্বর বাদ দিয়ে (আরও অপ্টিমাইজড)
২ ছাড়া কোনো ইভেন নম্বর প্রাইম নয়। তাই ইভেনগুলো বাদ দিয়ে শুধু অড নম্বর চেক করলে সময় কমে।
উদাহরণ
import math
def is_prime(n):
if n <= 1:
return False
elif n == 2:
return True
elif n > 2 and n % 2 == 0:
return False
else:
for i in range(3, int(math.sqrt(n)) + 1, 2):
if n % i == 0:
return False
return True
print(f"Is 2 prime: {is_prime(2)}")
print(f"Is 4 prime: {is_prime(4)}")
print(f"Is 7 prime: {is_prime(7)}")
আউটপুট
Is 2 prime: True Is 4 prime: False Is 7 prime: True
উপসংহার
প্রশ্ন থাকলে কমেন্ট করুন।