আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যা (num) একমাত্র আর্গুমেন্ট হিসেবে গ্রহণ করবে। ফাংশনটি প্রথমে n উপাদানের একটি অ্যারে তৈরি করবে নিচের নিয়ম অনুযায়ী —
arr[i] = (2 * i) + 1;
অতএব, ইনপুট সংখ্যা ৫ হলে অ্যারে হবে —
const arr = [1, 3, 5, 7, 9];
আমাদের ফাংশনটি ন্যূনতম কতগুলো স্টেপে সব উপাদান সমান করা যায় সেটি গণনা করে রিটার্ন করবে।
এখন এক স্টেপ (step) ডিফাইন করি —
একটি বৈধ স্টেপ হলো অ্যারেতে থেকে যেকোনো দুটি স্বতন্ত্র সংখ্যা বেছে নেওয়া, প্রথমটিতে ১ যোগ করা এবং দ্বিতীয়টিতে ১ বিয়োগ করা।
অতএব, উপরের অ্যারেতে আউটপুট হবে —
const output = 6;
উদাহরণ
কোডটি নিচে দেওয়া হলো —
const num = 5;
const minimumOperations = (num = 1) => {
if(num === 1){
return 0;
};
let arr = new Array(num);
let i = 0;
let res = 0;
while(i < num){
arr[i] = (2 * i) + 1;
if(arr[i] < num) res += num-arr[i];
i++;
};
return res;
};
console.log(minimumOperations(num));
আউটপুট
কনসোল আউটপুট:
6