কম্পিউটার

পাইথনের সেট {A, B} থেকে অঙ্কগুলি নিয়ে গঠিত একটি সংখ্যা দ্বারা N বিভাজ্য কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি সংখ্যা n আছে। আমাদের আরও দুটি সংখ্যা a এবং b আছে। আমাদের পরীক্ষা করতে হবে যে আমরা a এবং b ব্যবহার করে একটি সংখ্যা তৈরি করতে পারি যা n.

ভাগ করে

সুতরাং, যদি ইনপুটটি n =115, a =3, b =2 এর মত হয়, তাহলে আউটপুটটি True হবে কারণ 115 23 দ্বারা বিভাজ্য যা 2 এবং 3 দিয়ে তৈরি।

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

  • একটি ফাংশন util() সংজ্ঞায়িত করুন। এটি temp, a, b, n
  • লাগবে
  • যদি temp> n হয়, তাহলে
    • মিথ্যে ফেরত দিন
  • যদি n temp দ্বারা বিভাজ্য হয়, তাহলে

    • সত্য ফেরান
  • যখন util(temp * 10 + a, b, n) বা util(temp * 10 + b, a, b, n) এর মধ্যে অন্তত একটি সত্য হয় অন্যথায় মিথ্যা হয় তখন সত্য ফেরত দিন
  • প্রধান পদ্ধতি থেকে সত্য ফিরে আসে যখন util(a, a, b, n) বা util(b, a, b, n) এর মধ্যে অন্তত একটি সত্য হয় অন্যথায় মিথ্যা হয়

উদাহরণ

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

def util(temp, a, b, n):
   if temp > n:
      return False
   if n % temp == 0:
      return True
   return util(temp * 10 + a, a, b, n) or util(temp * 10 + b, a, b, n)
def solve(n, a, b):
   return util(a, a, b, n) or util(b, a, b, n)
n = 115
a = 3
b = 2
print(solve(n, a, b))

ইনপুট

115, 2, 3

আউটপুট

True

  1. পাইথনের একটি সংখ্যা থেকে ন্যূনতম সংখ্যা মুছে ফেলার মাধ্যমে গঠিত বৃহত্তম ঘনকটি খুঁজুন

  2. একটি অ্যারের সমস্ত সংখ্যা ব্যবহার করে 3 সংখ্যা দ্বারা বিভাজ্য করা সম্ভব কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

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

  4. পাইথন প্রোগ্রাম সেট থেকে আইটেম অপসারণ