কম্পিউটার

পাইথনে একটি নির্দিষ্ট পরিসরে বিশেষ সংখ্যার সংখ্যা খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের পূর্ণসংখ্যার একটি পরিসর দেওয়া হয়েছে এবং পরিসরের বিশেষ সংখ্যাগুলি খুঁজে বের করতে বলা হয়েছে। একটি বিশেষ সংখ্যা হল এমন একটি সংখ্যা যা একটি ধনাত্মক পূর্ণসংখ্যা যার দশমিক প্রতিনিধিত্বে মাত্র 1 সংখ্যা থাকে। যে সংখ্যাটির দশমিক উপস্থাপনায় 1 এর বেশি সংখ্যা রয়েছে সেটিও বিশেষ হতে পারে যদি সংখ্যাটি তার দশমিক প্রতিনিধিত্বে সংখ্যার গণনা দ্বারা বিভাজ্য হয় এবং ভাগফলের মান নিজেই একটি বিশেষ সংখ্যা হয়। আমরা প্রদত্ত পরিসরে বিশেষ সংখ্যার গণনা ফেরত দিই (বাম_সীমা, ডান_সীমা)।

সুতরাং, যদি ইনপুট হয় left_limit =5, right_limit =30, তাহলে আউটপুট হবে 13।

এই পরিসরের বিশেষ সংখ্যাগুলি হল:5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 24 এবং 28৷

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • যদি ডান_সীমা <10 হয়, তাহলে
    • রিটার্ন ডান_সীমা - বাম_সীমা + 1
  • len_right :=(right_limit)
  • এর স্ট্রিং প্রতিনিধিত্বের আকার
  • সংখ্যা_তালিকা :=[0,1,2,3,4,5,6,7,8,9,10,12,14,16,18]
  • 2 থেকে len_right + 1 পর্যন্ত j-এর জন্য
  • করুন
    • সংখ্যা_তালিকায় প্রতিটি k-এর জন্য, করুন
      • temp1 :=k * j
      • যদি temp1 এর স্ট্রিং উপস্থাপনার আকার j এর মত হয়, তাহলে
        • সংখ্যা_তালিকার শেষে টেম্প১ ঢোকান
      • অন্যথায় যখন len(str(temp1))> j, তারপর
        • লুপ থেকে বেরিয়ে আসুন
      • যদি নম্বর_তালিকা[সংখ্যা_তালিকার আকার - 1]>=ডান_সীমা, তাহলে
        • লুপ থেকে বেরিয়ে আসুন
  • number_list থেকে ডুপ্লিকেট মান মুছে দিন এবং সাজান
  • গণনা :=0
  • সংখ্যা_তালিকায় প্রতিটি temp2 এর জন্য, করুন
    • যদি temp2>=left_limit এবং temp2 <=right_limit, তারপর
      • গণনা :=গণনা + 1
  • রিটার্ন গণনা

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

def strange(left_limit, right_limit):
   if right_limit < 10:
      return right_limit - left_limit + 1
len_right = len(str(right_limit))
number_list = [0,1,2,3,4,5,6,7,8,9,10,12,14,16,18]
for j in range(2, len_right + 1):
for k in number_list:
temp1 = k*j
if len(str(temp1)) == j:
number_list.append(temp1)
elif len(str(temp1)) > j:
break
if number_list[len(number_list)-1] >= right_limit:
break
number_list = list(set(number_list))
count = 0
for temp2 in number_list:
if temp2 >= left_limit and temp2 <= right_limit:
count = count + 1
return count
print(strange(5, 30))

ইনপুট

5, 30

আউটপুট

13

  1. পাইথনে একটি প্রদত্ত গ্রাফে বিশেষ ধরনের সাবগ্রাফ খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে একটি প্রদত্ত দৈর্ঘ্যের সর্বশ্রেষ্ঠ সাব্যারে খুঁজে বের করার জন্য প্রোগ্রাম

  3. পাইথন - সংখ্যার নির্দিষ্ট পরিসরের মধ্যে মৌলিক সংখ্যার সংখ্যা খুঁজুন

  4. পাইথনের গোডাউনে কয়টি বাক্স রাখতে হবে তা বের করার কর্মসূচি