সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা সংখ্যার একটি অ্যারে নেয়, প্রথম আর্গুমেন্ট হিসাবে এবং একটি একক সংখ্যা, num, দ্বিতীয় আর্গুমেন্ট হিসাবে।
আমাদের উচিত, এতে উপাদান যোগ করে, আমাদের অ্যারেকে এমন করা উচিত যাতে [0, সংখ্যা] (উভয় সহ) এর মধ্যে নির্দিষ্ট সংখ্যা যোগ করে যেকোনো যোগফল পাওয়া যায়। আমাদের ফাংশন শেষ পর্যন্ত অ্যারেতে যোগ করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যাগুলি ফেরত দেবে যাতে এটি 0 এবং সংখ্যার মধ্যে যেকোনো যোগফল তৈরি করতে পারে৷
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −
const arr = [1, 5, 10]; const sum = 20;
তারপর আউটপুট −
হওয়া উচিতconst output = 2;
আউটপুট ব্যাখ্যা:
কারণ যদি আমরা অ্যারেতে দুটি সংখ্যা, (2 এবং 4) যোগ করি, তাহলে আমরা [0, 20] এর মধ্যে যেকোনো যোগফল অর্জন করতে পারি।
উদাহরণ
এর জন্য কোড হবে −
const arr = [1, 5, 10]; const sum = 20; const minimumAddition = (arr = [], sum = 1) => { let canAdd = 1; let count = 0,i = 0; while(canAdd <= sum){ if((i >= arr.length) || (canAdd < arr[i])){ count++; canAdd+=canAdd; }else{ canAdd += arr[i++]; }; }; return count; }; console.log(minimumAddition(arr, sum));
আউটপুট
কনসোলে আউটপুট হবে −
2