কম্পিউটার

পাইথনে সমস্ত সাব-সংখ্যার স্বতন্ত্র ডিজিট পণ্য আছে কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি সংখ্যা n আছে, আমাদের পরীক্ষা করতে হবে এই সংখ্যার সমস্ত উপ-সংখ্যার অনন্য অঙ্কের গুণফল আছে কি না। আমরা জানি, n ডিজিটের নম্বরে n*(n+1)/2 উপ-সংখ্যা রয়েছে। উদাহরণস্বরূপ, 135-এর উপ-সংখ্যাগুলি হল 1, 3, 5, 13, 35, 135৷ এবং একটি সংখ্যার অঙ্কের গুণফল হল তার অঙ্কগুলির গুণফল৷

সুতরাং, যদি ইনপুটটি n =235 এর মত হয়, তবে আউটপুটটি True হবে কারণ সাব সংখ্যাগুলি হল [2, 3, 5, 23, 35, 235], অঙ্কের পণ্যগুলি হল [2, 3, 5, 6, 15, 30 ]

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

একটি ফাংশন dig_prod() সংজ্ঞায়িত করুন। এটি সংখ্যা গ্রহণ করবে

  • পণ্য :=1
  • অঙ্কে প্রতিটি d-এর জন্য, করুন
    • পণ্য :=পণ্য * d
  • পণ্য ফেরত দিন
  • প্রধান পদ্ধতি থেকে নিম্নলিখিতগুলি করুন:
  • num_str :=num as string
  • দৈর্ঘ্য :=num_str এর আকার
  • সংখ্যা :=আকারের দৈর্ঘ্যের একটি তালিকা, এবং প্রাথমিকভাবে সমস্ত মান শূন্য
  • prod_set :=একটি নতুন খালি সেট
  • আমি 0 থেকে দৈর্ঘ্যের রেঞ্জের জন্য, কর
    • সংখ্যা[i] :=num_str[i] পূর্ণসংখ্যা হিসাবে
  • আমি 0 থেকে দৈর্ঘ্য - 1 রেঞ্জের জন্য, কর
    • j এর জন্য i থেকে দৈর্ঘ্য - 1, do
      • আইটেম :=dig_prod(সংখ্যা[সূচি i থেকে j])
      • যদি আইটেমটি prod_set এ থাকে, তাহলে
        • মিথ্যে ফেরত দিন
      • অন্যথায়,
        • prod_set এ আইটেম ঢোকান
  • সত্য ফেরান

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

উদাহরণ

def dig_prod(digits):
   product = 1
   for d in digits:
      product *= d
   return product
def solve(num):
   num_str = str(num)
   length = len(num_str)
   digits = [None] * length
   prod_set = set()
   for i in range(0, length):
      digits[i] = int(num_str[i])
   for i in range(0, length):
      for j in range(i, length):
         item = dig_prod(digits[i:j+1])
         if item in prod_set:
            return False
         else:
            prod_set.add(item)
   return True
n = 235
print(solve(n))

ইনপুট

235

আউটপুট

True

  1. পাইথনে সমস্ত টিপলের দৈর্ঘ্য একই আছে কিনা তা খুঁজুন

  2. পাইথন - একটি তালিকার সমস্ত উপাদান একই কিনা তা পরীক্ষা করুন

  3. পাইথন প্রোগ্রাম একটি স্ট্রিং সব অনন্য অক্ষর আছে কিনা তা পরীক্ষা করতে

  4. একটি সংখ্যার সমস্ত সংখ্যা এটিকে ভাগ করে কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম