সমস্যা বিবরণ
১০০ থেকে ১৫০ (দুইটি অন্তর্ভুক্ত) পরিসরে থাকা প্রাইম নম্বর (质数) গুলো খুঁজে বের করে, তার মধ্যঠেক যাবতীয় ৫টি বেছে নিয়ে একটি সিরিজ তৈরি করা।
সমাধানের পদ্ধতি
- প্রাইম নম্বর খুঁজুন ১০০ থেকে ১৫০ পর্যন্ত লুপ চালিয়ে প্রাইম চেক করুন (নেস্টেড লুপ বা অপ্টিমাইজড পদ্ধতি)।
- প্রাইম গুলো লিস্টে রাখুন।
- যাবতীয় ৫টি বেছে নিন
random.sample()ব্যবহার করে। - সিরিজ তৈরি করুন।
পূর্ণ কোড উদাহরণ
import pandas as pd
import random as rand
# প্রাইম নম্বর খুঁজুন
primes = []
for i in range(100, 151): # 150 অন্তর্ভুক্ত করতে 151
if i < 2:
continue
is_prime = True
for j in range(2, int(i**0.5) + 1): # অপ্টিমাইজড: sqrt(i) পর্যন্ত চেক
if i % j == 0:
is_prime = False
break
if is_prime:
primes.append(i)
print("১০০-১৫০ এর মধ্যে প্রাইম নম্বর:", primes)
# যাবতীয় ৫টি বেছে নিন
random_primes = rand.sample(primes, 5)
rand_series = pd.Series(random_primes)
print("\nযাবতীয় ৫টি প্রাইম নম্বরের সিরিজ:")
print(rand_series)
আউটপুট (উদাহরণ - যাবতীয়ভাবে ভিন্ন হবে)
১০০-১৫০ এর মধ্যে প্রাইম নম্বর: [101, 103, 107, 109, 113, 127, 131, 137, 139, 149]
যাবতীয় ৫টি প্রাইম নম্বরের সিরিজ:
0 109
1 149
2 107
3 101
4 131
dtype: int64
ব্যাখ্যা: প্রাইম চেকের সময় range(2, i) না করে range(2, int(i**0.5)+1) ব্যবহার করা দক্ষতা বাড়ায়। random.sample() নন-রিপিটিং যাবতীয় স্যাম্পলিং নিশ্চিত করে।