কম্পিউটার

আমরা এমনভাবে অক্ষর সাজাতে পারি এমন সংখ্যা খুঁজে বের করার জন্য প্রোগ্রাম যাতে প্রতিটি উপসর্গ এবং প্রত্যয় পাইথনের চেয়ে বেশি Bs থাকে


ধরুন আমাদের একটি স্ট্রিং আছে যার A এর n সংখ্যা এবং B এর 2n সংখ্যা রয়েছে। আমাদের সম্ভাব্য বিন্যাসের সংখ্যা খুঁজে বের করতে হবে যাতে প্রতিটি উপসর্গ এবং প্রতিটি প্রত্যয় এ A এর সংখ্যার চেয়ে বড় বা সমান B এর সংখ্যা থাকে

সুতরাং, যদি ইনপুটটি n =2 এর মত হয়, তাহলে আউটপুট 4 হবে কারণ দুটি A' এবং চারটি B আছে, তাই সম্ভাব্য বিন্যাস হল [BBAABB, BABABB, BBABAB, BABBAB]।

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

  • একটি সমাধানের পদ্ধতি নির্ধারণ করুন, এটি n
  • লাগবে
  • যদি n 1 এর মত হয়, তাহলে
    • প্রত্যাবর্তন 1
  • যদি n 2 এর মত হয়, তাহলে
    • প্রত্যাবর্তন 4
  • যদি n বিজোড় হয়, তাহলে
    • রিটার্ন খুঁজুন((n-1)/2)^2
  • অন্যথায়,
    • রিটার্ন ফাইন্ড(n/2 এর ফ্লোর)^2

উদাহরণ

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

def solve(n):
   if n==1:
      return 1
   if n==2:
      return 4
   if n%2 != 0:
      return solve((n-1)//2)**2
   else:
      return solve(n//2)**2

n = 2
print(solve(n))

ইনপুট

2

আউটপুট

4

  1. n rooks যাতে তারা পাইথনে একে অপরকে আক্রমণ করতে না পারে সেজন্য এন রুকগুলিকে সাজানোর উপায় খুঁজে বের করার জন্য প্রোগ্রাম

  2. দীর্ঘতম দৈর্ঘ্য খুঁজে বের করার জন্য প্রোগ্রাম, যা পাইথনে দেওয়া অক্ষর ব্যবহার করে তৈরি করা যেতে পারে

  3. স্ট্রিংয়ের সংখ্যা খুঁজে বের করার জন্য প্রোগ্রাম আমরা তৈরি করতে পারি যেখানে 'a' 'a' বা 'b' হতে পারে এবং 'b' পাইথনে 'b' থাকে

  4. পাইথনে সংযোজিত হলে একটি প্যালিনড্রোম তৈরি না হওয়া পর্যন্ত S1-এর উপসর্গ এবং S2-এর প্রত্যয়-এর মতো সূচক i খুঁজুন