সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং দ্বিতীয় আর্গুমেন্ট হিসাবে দুটি সংখ্যা, m এবং n নেয়৷
আমাদের ফাংশনটি শুধুমাত্র এই দুটি অপারেশন ব্যবহার করে m থেকে n এ পৌঁছানোর জন্য প্রয়োজনীয় ন্যূনতম ক্রিয়াকলাপগুলির সংখ্যা গণনা করার কথা −
-
ডবল − ডিসপ্লেতে থাকা সংখ্যাটিকে 2 দ্বারা গুণ করুন, অথবা;
-
হ্রাস − প্রদর্শনের সংখ্যা থেকে 1 বিয়োগ করুন।
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −
const m = 5; const n = 8;
তারপর আউটপুট −
হওয়া উচিতconst output = 8;
আউটপুট ব্যাখ্যা:
কারণ অপারেশনগুলি হল −
5 → 4 → 8
উদাহরণ
এর জন্য কোড হবে −
const m = 5;
const n = 8;
const findOperations = (m, n) => {
let res = 0;
while(n > m){
if(n % 2 === 0){
n /= 2;
}else{
n += 1;
};
res += 1;
};
return res + m - n;
};
console.log(findOperations(m, n)); আউটপুট
এবং কনসোলে আউটপুট হবে −
2