কম্পিউটার

পাইথনে লক্ষ্য যোগফল পেতে প্রয়োজনীয় ন্যূনতম উপাদান যোগ করার জন্য প্রোগ্রাম


ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার তালিকা আছে এবং আরও দুটি ভেরিয়েবল k এবং t আছে। আসুন একটি অপারেশন বিবেচনা করি যেখানে আমরা একটি এলিমেন্ট বাছাই করি যা বলে e পরিসরে [-k, k] এবং শেষে এটিকে সংখ্যায় সন্নিবেশ করাই। আমাদের প্রয়োজন ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করতে হবে যাতে সংখ্যার যোগফল লক্ষ্যের সমান হয়।

সুতরাং, ইনপুট যদি nums =[3, 1] k =4 t =19 এর মতো হয়, তাহলে আউটপুট হবে 4 কারণ আমরা যোগফল 19 পেতে [3, 1, 4, 4, 4, 3] এর মতো যোগ করতে পারি। .

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

  • মোট :=সংখ্যায় উপস্থিত সমস্ত উপাদানের যোগফল

  • পার্থক্য :=|t - মোট |

  • ফলাফল :=(diff/k)

    এর তল
  • যদি ফলাফল * k পার্থক্যের মত না হয়, তাহলে

    • ফলাফল :=ফলাফল + 1

  • ফেরত ফলাফল

উদাহরণ

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

def solve(nums, k, t):
   total = sum(nums)

   diff = abs(t - total)
   result = diff // k

   if result * k != diff:
      result = result + 1

   return result

nums = [3, 1]
k = 4
t = 19
print(solve(nums, k, t))

ইনপুট

[3, 1], 4, 19

আউটপুট

4

  1. পাইথনে একজন দাবা নাইট দ্বারা লক্ষ্য অবস্থানে পৌঁছানোর ন্যূনতম পদক্ষেপগুলি খুঁজে বের করার প্রোগ্রাম

  2. পাইথন প্রোগ্রামে অ্যারের সমষ্টি খুঁজুন

  3. সংখ্যার ন্যূনতম যোগফল নির্ণয়ের জন্য পাইথন প্রোগ্রাম

  4. পাইথন প্রোগ্রাম একটি তালিকায় সর্বাধিক এবং সর্বনিম্ন উপাদানের অবস্থান খুঁজে পেতে?